@itwin/grouping-mapping-widget 0.2.3 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/widget/GroupingMappingWidget.d.ts +4 -0
- package/lib/cjs/widget/GroupingMappingWidget.js +6 -23
- package/lib/cjs/widget/GroupingMappingWidget.js.map +1 -1
- package/lib/cjs/widget/components/ActionPanel.d.ts +3 -2
- package/lib/cjs/widget/components/ActionPanel.js +3 -3
- package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
- package/lib/cjs/widget/components/CalculatedPropertyAction.d.ts +2 -2
- package/lib/cjs/widget/components/CalculatedPropertyAction.js +14 -9
- package/lib/cjs/widget/components/CalculatedPropertyAction.js.map +1 -1
- package/lib/cjs/widget/components/CalculatedPropertyAction.scss +5 -5
- package/lib/cjs/widget/components/CalculatedPropertyTable.d.ts +5 -5
- package/lib/cjs/widget/components/CalculatedPropertyTable.js +15 -16
- package/lib/cjs/widget/components/CalculatedPropertyTable.js.map +1 -1
- package/lib/cjs/widget/components/ConfirmMappingsImport.d.ts +3 -3
- package/lib/cjs/widget/components/ConfirmMappingsImport.js +6 -3
- package/lib/cjs/widget/components/ConfirmMappingsImport.js.map +1 -1
- package/lib/cjs/widget/components/CustomCalculationAction.d.ts +2 -2
- package/lib/cjs/widget/components/CustomCalculationAction.js +15 -9
- package/lib/cjs/widget/components/CustomCalculationAction.js.map +1 -1
- package/lib/cjs/widget/components/CustomCalculationTable.d.ts +5 -5
- package/lib/cjs/widget/components/CustomCalculationTable.js +15 -16
- package/lib/cjs/widget/components/CustomCalculationTable.js.map +1 -1
- package/lib/cjs/widget/components/GroupAction.d.ts +2 -2
- package/lib/cjs/widget/components/GroupAction.js +25 -42
- package/lib/cjs/widget/components/GroupAction.js.map +1 -1
- package/lib/cjs/widget/components/GroupPropertyAction.js +9 -5
- package/lib/cjs/widget/components/GroupPropertyAction.js.map +1 -1
- package/lib/cjs/widget/components/GroupPropertyTable.d.ts +5 -5
- package/lib/cjs/widget/components/GroupPropertyTable.js +15 -16
- package/lib/cjs/widget/components/GroupPropertyTable.js.map +1 -1
- package/lib/cjs/widget/components/Grouping.d.ts +3 -3
- package/lib/cjs/widget/components/Grouping.js +26 -26
- package/lib/cjs/widget/components/Grouping.js.map +1 -1
- package/lib/cjs/widget/components/GroupingMapping.d.ts +12 -2
- package/lib/cjs/widget/components/GroupingMapping.js +18 -4
- package/lib/cjs/widget/components/GroupingMapping.js.map +1 -1
- package/lib/cjs/widget/components/Mapping.d.ts +2 -2
- package/lib/cjs/widget/components/Mapping.js +14 -14
- package/lib/cjs/widget/components/Mapping.js.map +1 -1
- package/lib/cjs/widget/components/MappingAction.d.ts +2 -2
- package/lib/cjs/widget/components/MappingAction.js +7 -4
- package/lib/cjs/widget/components/MappingAction.js.map +1 -1
- package/lib/cjs/widget/components/MappingImportWizardModal.js.map +1 -1
- package/lib/cjs/widget/components/PropertyMenu.d.ts +2 -2
- package/lib/cjs/widget/components/PropertyMenu.js.map +1 -1
- package/lib/cjs/widget/components/SelectIModel.js +4 -8
- package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
- package/lib/cjs/widget/components/SelectMappings.d.ts +2 -2
- package/lib/cjs/widget/components/SelectMappings.js +10 -11
- package/lib/cjs/widget/components/SelectMappings.js.map +1 -1
- package/lib/cjs/widget/components/SelectProject.js +4 -8
- package/lib/cjs/widget/components/SelectProject.js.map +1 -1
- package/lib/cjs/widget/components/property-grid/PropertyView.js +4 -1
- package/lib/cjs/widget/components/property-grid/PropertyView.js.map +1 -1
- package/lib/esm/widget/GroupingMappingWidget.d.ts +4 -0
- package/lib/esm/widget/GroupingMappingWidget.js +6 -4
- package/lib/esm/widget/GroupingMappingWidget.js.map +1 -1
- package/lib/esm/widget/components/ActionPanel.d.ts +3 -2
- package/lib/esm/widget/components/ActionPanel.js +3 -3
- package/lib/esm/widget/components/ActionPanel.js.map +1 -1
- package/lib/esm/widget/components/CalculatedPropertyAction.d.ts +2 -2
- package/lib/esm/widget/components/CalculatedPropertyAction.js +15 -10
- package/lib/esm/widget/components/CalculatedPropertyAction.js.map +1 -1
- package/lib/esm/widget/components/CalculatedPropertyAction.scss +5 -5
- package/lib/esm/widget/components/CalculatedPropertyTable.d.ts +5 -5
- package/lib/esm/widget/components/CalculatedPropertyTable.js +16 -17
- package/lib/esm/widget/components/CalculatedPropertyTable.js.map +1 -1
- package/lib/esm/widget/components/ConfirmMappingsImport.d.ts +3 -3
- package/lib/esm/widget/components/ConfirmMappingsImport.js +7 -4
- package/lib/esm/widget/components/ConfirmMappingsImport.js.map +1 -1
- package/lib/esm/widget/components/CustomCalculationAction.d.ts +2 -2
- package/lib/esm/widget/components/CustomCalculationAction.js +16 -10
- package/lib/esm/widget/components/CustomCalculationAction.js.map +1 -1
- package/lib/esm/widget/components/CustomCalculationTable.d.ts +5 -5
- package/lib/esm/widget/components/CustomCalculationTable.js +16 -17
- package/lib/esm/widget/components/CustomCalculationTable.js.map +1 -1
- package/lib/esm/widget/components/GroupAction.d.ts +2 -2
- package/lib/esm/widget/components/GroupAction.js +26 -43
- package/lib/esm/widget/components/GroupAction.js.map +1 -1
- package/lib/esm/widget/components/GroupPropertyAction.js +10 -6
- package/lib/esm/widget/components/GroupPropertyAction.js.map +1 -1
- package/lib/esm/widget/components/GroupPropertyTable.d.ts +5 -5
- package/lib/esm/widget/components/GroupPropertyTable.js +16 -17
- package/lib/esm/widget/components/GroupPropertyTable.js.map +1 -1
- package/lib/esm/widget/components/Grouping.d.ts +3 -3
- package/lib/esm/widget/components/Grouping.js +27 -27
- package/lib/esm/widget/components/Grouping.js.map +1 -1
- package/lib/esm/widget/components/GroupingMapping.d.ts +12 -2
- package/lib/esm/widget/components/GroupingMapping.js +17 -4
- package/lib/esm/widget/components/GroupingMapping.js.map +1 -1
- package/lib/esm/widget/components/Mapping.d.ts +2 -2
- package/lib/esm/widget/components/Mapping.js +15 -15
- package/lib/esm/widget/components/Mapping.js.map +1 -1
- package/lib/esm/widget/components/MappingAction.d.ts +2 -2
- package/lib/esm/widget/components/MappingAction.js +8 -5
- package/lib/esm/widget/components/MappingAction.js.map +1 -1
- package/lib/esm/widget/components/MappingImportWizardModal.js.map +1 -1
- package/lib/esm/widget/components/PropertyMenu.d.ts +2 -2
- package/lib/esm/widget/components/PropertyMenu.js.map +1 -1
- package/lib/esm/widget/components/SelectIModel.js +5 -6
- package/lib/esm/widget/components/SelectIModel.js.map +1 -1
- package/lib/esm/widget/components/SelectMappings.d.ts +2 -2
- package/lib/esm/widget/components/SelectMappings.js +11 -12
- package/lib/esm/widget/components/SelectMappings.js.map +1 -1
- package/lib/esm/widget/components/SelectProject.js +5 -6
- package/lib/esm/widget/components/SelectProject.js.map +1 -1
- package/lib/esm/widget/components/property-grid/PropertyView.js +4 -1
- package/lib/esm/widget/components/property-grid/PropertyView.js.map +1 -1
- package/package.json +6 -3
- package/lib/cjs/api/generated/api.d.ts +0 -3222
- package/lib/cjs/api/generated/api.js +0 -5291
- package/lib/cjs/api/generated/api.js.map +0 -1
- package/lib/cjs/api/generated/configuration.d.ts +0 -56
- package/lib/cjs/api/generated/configuration.js +0 -30
- package/lib/cjs/api/generated/configuration.js.map +0 -1
- package/lib/cjs/api/generated/index.d.ts +0 -14
- package/lib/cjs/api/generated/index.js +0 -31
- package/lib/cjs/api/generated/index.js.map +0 -1
- package/lib/cjs/api/reportingClient.d.ts +0 -34
- package/lib/cjs/api/reportingClient.js +0 -177
- package/lib/cjs/api/reportingClient.js.map +0 -1
- package/lib/cjs/widget/hooks/useFetchAccessToken.d.ts +0 -3
- package/lib/cjs/widget/hooks/useFetchAccessToken.js +0 -22
- package/lib/cjs/widget/hooks/useFetchAccessToken.js.map +0 -1
- package/lib/esm/api/generated/api.d.ts +0 -3222
- package/lib/esm/api/generated/api.js +0 -5248
- package/lib/esm/api/generated/api.js.map +0 -1
- package/lib/esm/api/generated/configuration.d.ts +0 -56
- package/lib/esm/api/generated/configuration.js +0 -26
- package/lib/esm/api/generated/configuration.js.map +0 -1
- package/lib/esm/api/generated/index.d.ts +0 -14
- package/lib/esm/api/generated/index.js +0 -19
- package/lib/esm/api/generated/index.js.map +0 -1
- package/lib/esm/api/reportingClient.d.ts +0 -34
- package/lib/esm/api/reportingClient.js +0 -173
- package/lib/esm/api/reportingClient.js.map +0 -1
- package/lib/esm/widget/hooks/useFetchAccessToken.d.ts +0 -3
- package/lib/esm/widget/hooks/useFetchAccessToken.js +0 -20
- package/lib/esm/widget/hooks/useFetchAccessToken.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/api/generated/api.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/* eslint-disable */\n//@ts-nocheck\n// tslint:disable\n/**\n * Reporting\n * Reporting is a resource for aggregating iTwin data to build custom dashboards and integrate iTwin data with your business applications. - Create digitial twin based reports which can be consumed through business intelligence applications such as Power BI. - Leverage the OData feed Data Access to generate reports by combining data from multiple data streams in the digital twin.\n *\n * OpenAPI spec version: v1\n *\n *\n * NOTE: This file is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the file manually.\n */\n\nimport * as url from 'url';\nimport isomorphicFetch from 'cross-fetch';\nimport { Configuration } from './configuration';\n\nexport const BASE_PATH = 'https://api.bentley.com/insights/reporting'.replace(\n /\\/+$/,\n '',\n);\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: ',',\n ssv: ' ',\n tsv: '\\t',\n pipes: '|',\n};\n\n/**\n *\n * @export\n * @interface FetchAPI\n */\nexport interface FetchAPI {\n (url: string, init?: any): Promise<Response>;\n}\n\n/**\n *\n * @export\n * @interface FetchArgs\n */\nexport interface FetchArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration;\n\n constructor(\n configuration?: Configuration,\n protected basePath: string = BASE_PATH,\n protected fetch: FetchAPI = isomorphicFetch,\n ) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n}\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: 'RequiredError';\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\n/**\n * List of CalculatedProperties.\n * @export\n * @interface CalculatedPropertyCollectionReportingAPI\n */\nexport interface CalculatedPropertyCollectionReportingAPI {\n /**\n * List of CalculatedProperties.\n * @type {Array<CalculatedPropertyReportingAPI>}\n * @memberof CalculatedPropertyCollectionReportingAPI\n */\n properties?: Array<CalculatedPropertyReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof CalculatedPropertyCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the CalculatedProperty to be created.\n * @export\n * @interface CalculatedPropertyCreateReportingAPI\n */\nexport interface CalculatedPropertyCreateReportingAPI {\n /**\n * Name of the CalculatedProperty.\n * @type {string}\n * @memberof CalculatedPropertyCreateReportingAPI\n */\n propertyName: string;\n /**\n * The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.\n * @type {string}\n * @memberof CalculatedPropertyCreateReportingAPI\n */\n type: string;\n}\n/**\n *\n * @export\n * @interface CalculatedPropertyLinksReportingAPI\n */\nexport interface CalculatedPropertyLinksReportingAPI {\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof CalculatedPropertyLinksReportingAPI\n */\n imodel?: LinkReportingAPI;\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof CalculatedPropertyLinksReportingAPI\n */\n mapping?: LinkReportingAPI;\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof CalculatedPropertyLinksReportingAPI\n */\n group?: LinkReportingAPI;\n}\n/**\n * Defines a CalculatedProperty or 'column' for a Group. It is calculated for each element returned by the Group's query.\n * @export\n * @interface CalculatedPropertyReportingAPI\n */\nexport interface CalculatedPropertyReportingAPI {\n /**\n * The CalculatedProperty Id.\n * @type {string}\n * @memberof CalculatedPropertyReportingAPI\n */\n id?: string;\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof CalculatedPropertyReportingAPI\n */\n propertyName?: string;\n /**\n * The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.\n * @type {string}\n * @memberof CalculatedPropertyReportingAPI\n */\n type?: string;\n /**\n * The quantity type of the CalculatedProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof CalculatedPropertyReportingAPI\n */\n quantityType?: string;\n /**\n *\n * @type {CalculatedPropertyLinksReportingAPI}\n * @memberof CalculatedPropertyReportingAPI\n */\n _links?: CalculatedPropertyLinksReportingAPI;\n}\n/**\n * Container for a CalculatedProperty object.\n * @export\n * @interface CalculatedPropertySingleReportingAPI\n */\nexport interface CalculatedPropertySingleReportingAPI {\n /**\n *\n * @type {CalculatedPropertyReportingAPI}\n * @memberof CalculatedPropertySingleReportingAPI\n */\n property?: CalculatedPropertyReportingAPI;\n}\n/**\n * Properties of the CalculatedProperty to be updated.\n * @export\n * @interface CalculatedPropertyUpdateReportingAPI\n */\nexport interface CalculatedPropertyUpdateReportingAPI {\n /**\n * Name of the CalculatedProperty.\n * @type {string}\n * @memberof CalculatedPropertyUpdateReportingAPI\n */\n propertyName?: string;\n /**\n * The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.\n * @type {string}\n * @memberof CalculatedPropertyUpdateReportingAPI\n */\n type?: string;\n}\n/**\n * List of CustomCalculations.\n * @export\n * @interface CustomCalculationCollectionReportingAPI\n */\nexport interface CustomCalculationCollectionReportingAPI {\n /**\n * List of CustomCalculations.\n * @type {Array<CustomCalculationReportingAPI>}\n * @memberof CustomCalculationCollectionReportingAPI\n */\n customCalculations?: Array<CustomCalculationReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof CustomCalculationCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the CustomCalculation to be created.\n * @export\n * @interface CustomCalculationCreateReportingAPI\n */\nexport interface CustomCalculationCreateReportingAPI {\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof CustomCalculationCreateReportingAPI\n */\n propertyName: string;\n /**\n * A mathematical formula which will be evaluated for each element returned by the Group's query.\n * @type {string}\n * @memberof CustomCalculationCreateReportingAPI\n */\n formula: string;\n /**\n * The quantity type of the CustomCalculation. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'. Default is 'Undefined'.\n * @type {string}\n * @memberof CustomCalculationCreateReportingAPI\n */\n quantityType?: string;\n}\n/**\n * Defines a CustomCalculation or 'column' for a Group. It is calculated using the given formula for each element returned by the Group's query.\n * @export\n * @interface CustomCalculationReportingAPI\n */\nexport interface CustomCalculationReportingAPI {\n /**\n * The CustomCalculation Id.\n * @type {string}\n * @memberof CustomCalculationReportingAPI\n */\n id?: string;\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof CustomCalculationReportingAPI\n */\n propertyName?: string;\n /**\n * A mathematical formula which will be evaluated for each element returned by the Group's query.\n * @type {string}\n * @memberof CustomCalculationReportingAPI\n */\n formula?: string;\n /**\n * The quantity type of the CustomCalculation. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof CustomCalculationReportingAPI\n */\n quantityType?: string;\n /**\n *\n * @type {CalculatedPropertyLinksReportingAPI}\n * @memberof CustomCalculationReportingAPI\n */\n _links?: CalculatedPropertyLinksReportingAPI;\n}\n/**\n * Container for a CustomCalculation object.\n * @export\n * @interface CustomCalculationSingleReportingAPI\n */\nexport interface CustomCalculationSingleReportingAPI {\n /**\n *\n * @type {CustomCalculationReportingAPI}\n * @memberof CustomCalculationSingleReportingAPI\n */\n customCalculation?: CustomCalculationReportingAPI;\n}\n/**\n * Properties of the CustomCalculation to be updated.\n * @export\n * @interface CustomCalculationUpdateReportingAPI\n */\nexport interface CustomCalculationUpdateReportingAPI {\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof CustomCalculationUpdateReportingAPI\n */\n propertyName?: string;\n /**\n * A mathematical formula which will be evaluated for each element returned by the Group's query.\n * @type {string}\n * @memberof CustomCalculationUpdateReportingAPI\n */\n formula?: string;\n /**\n * The quantity type of the CustomCalculation. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof CustomCalculationUpdateReportingAPI\n */\n quantityType?: string;\n}\n/**\n * Defines a target ECProperty for a Group. This is used to determine what properties will be read from the query response of a Group.\n * @export\n * @interface ECPropertyReportingAPI\n */\nexport interface ECPropertyReportingAPI {\n /**\n * The target ECSchema.\n * @type {string}\n * @memberof ECPropertyReportingAPI\n */\n ecSchemaName?: string;\n /**\n * The target ECClass.\n * @type {string}\n * @memberof ECPropertyReportingAPI\n */\n ecClassName?: string;\n /**\n * The target ECProperty.\n * @type {string}\n * @memberof ECPropertyReportingAPI\n */\n ecPropertyName?: string;\n /**\n * The type of the target ECProperty.\n * @type {string}\n * @memberof ECPropertyReportingAPI\n */\n ecPropertyType?: string;\n}\n/**\n * Contains error information.\n * @export\n * @interface ErrorDetailsReportingAPI\n */\nexport interface ErrorDetailsReportingAPI {\n /**\n * One of a server-defined set of error codes.\n * @type {string}\n * @memberof ErrorDetailsReportingAPI\n */\n code: string;\n /**\n * A human-readable representation of the error.\n * @type {string}\n * @memberof ErrorDetailsReportingAPI\n */\n message: string;\n}\n/**\n * Contains error information and an optional array of more specific errors.\n * @export\n * @interface ErrorReportingAPI\n */\nexport interface ErrorReportingAPI {\n /**\n * One of a server-defined set of error codes.\n * @type {string}\n * @memberof ErrorReportingAPI\n */\n code: string;\n /**\n * A human-readable representation of the error.\n * @type {string}\n * @memberof ErrorReportingAPI\n */\n message: string;\n /**\n * Optional array of more specific errors.\n * @type {Array<ErrorDetailsReportingAPI>}\n * @memberof ErrorReportingAPI\n */\n details?: Array<ErrorDetailsReportingAPI>;\n}\n/**\n * Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.\n * @export\n * @interface ErrorResponseReportingAPI\n */\nexport interface ErrorResponseReportingAPI {\n /**\n *\n * @type {Error}\n * @memberof ErrorResponseReportingAPI\n */\n error: Error;\n}\n/**\n * Metadata associated with a data extraction run.\n * @export\n * @interface ExtractionRunReportingAPI\n */\nexport interface ExtractionRunReportingAPI {\n /**\n *\n * @type {ExtractionRunRunReportingAPI}\n * @memberof ExtractionRunReportingAPI\n */\n run?: ExtractionRunRunReportingAPI;\n}\n/**\n * Extraction Run properties.\n * @export\n * @interface ExtractionRunRunReportingAPI\n */\nexport interface ExtractionRunRunReportingAPI {\n /**\n * Unique Identifier for the Extraction Run. Use this to check run status.\n * @type {string}\n * @memberof ExtractionRunRunReportingAPI\n */\n id?: string;\n}\n/**\n * Status of the specified Extraction Run.\n * @export\n * @interface ExtractionStatusReportingAPI\n */\nexport interface ExtractionStatusReportingAPI {\n /**\n *\n * @type {ExtractionStatusStatusReportingAPI}\n * @memberof ExtractionStatusReportingAPI\n */\n status?: ExtractionStatusStatusReportingAPI;\n}\n/**\n * Extraction Status properties.\n * @export\n * @interface ExtractionStatusStatusReportingAPI\n */\nexport interface ExtractionStatusStatusReportingAPI {\n /**\n * Current state of the Extraction Run - 'Running', 'Succeeded', or 'Failed'.\n * @type {string}\n * @memberof ExtractionStatusStatusReportingAPI\n */\n state?: string;\n /**\n * Additional justification for the current state of the Extraction Run.\n * @type {string}\n * @memberof ExtractionStatusStatusReportingAPI\n */\n reason?: string;\n}\n/**\n * List of Groups.\n * @export\n * @interface GroupCollectionReportingAPI\n */\nexport interface GroupCollectionReportingAPI {\n /**\n * List of Groups.\n * @type {Array<GroupReportingAPI>}\n * @memberof GroupCollectionReportingAPI\n */\n groups?: Array<GroupReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof GroupCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the Group to be created.\n * @export\n * @interface GroupCreateReportingAPI\n */\nexport interface GroupCreateReportingAPI {\n /**\n * Name of the Group (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupCreateReportingAPI\n */\n groupName?: string;\n /**\n * Description of the Group.\n * @type {string}\n * @memberof GroupCreateReportingAPI\n */\n description?: string;\n /**\n * Query string that will be executed against the target iModel to build this Group.\n * @type {string}\n * @memberof GroupCreateReportingAPI\n */\n query?: string;\n}\n/**\n * List of GroupProperties.\n * @export\n * @interface GroupPropertyCollectionReportingAPI\n */\nexport interface GroupPropertyCollectionReportingAPI {\n /**\n * List of GroupProperties.\n * @type {Array<GroupPropertyReportingAPI>}\n * @memberof GroupPropertyCollectionReportingAPI\n */\n properties?: Array<GroupPropertyReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof GroupPropertyCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the GroupProperty to be created.\n * @export\n * @interface GroupPropertyCreateReportingAPI\n */\nexport interface GroupPropertyCreateReportingAPI {\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupPropertyCreateReportingAPI\n */\n propertyName?: string;\n /**\n * The data type of the GroupProperty. One of 'Boolean', 'Number', 'String', or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyCreateReportingAPI\n */\n dataType?: string;\n /**\n * The quantity type of the GroupProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyCreateReportingAPI\n */\n quantityType?: string;\n /**\n * List of ECProperties that map to this GroupProperty.\n * @type {Array<ECPropertyReportingAPI>}\n * @memberof GroupPropertyCreateReportingAPI\n */\n ecProperties?: Array<ECPropertyReportingAPI>;\n}\n/**\n * Defines a one-to-many property mapping to a set of ECProperties for a Group - to be used when a Group query will return data from multiple ECClasses.\n * @export\n * @interface GroupPropertyReportingAPI\n */\nexport interface GroupPropertyReportingAPI {\n /**\n * The GroupProperty Id.\n * @type {string}\n * @memberof GroupPropertyReportingAPI\n */\n id?: string;\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupPropertyReportingAPI\n */\n propertyName?: string;\n /**\n * The data type of the GroupProperty. One of 'Boolean', 'Number', 'String', or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyReportingAPI\n */\n dataType?: string;\n /**\n * The quantity type of the GroupProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyReportingAPI\n */\n quantityType?: string;\n /**\n * List of ECProperties that map to this GroupProperty.\n * @type {Array<ECPropertyReportingAPI>}\n * @memberof GroupPropertyReportingAPI\n */\n ecProperties?: Array<ECPropertyReportingAPI>;\n}\n/**\n * Container for a GroupProperty object.\n * @export\n * @interface GroupPropertySingleReportingAPI\n */\nexport interface GroupPropertySingleReportingAPI {\n /**\n *\n * @type {GroupPropertyReportingAPI}\n * @memberof GroupPropertySingleReportingAPI\n */\n property?: GroupPropertyReportingAPI;\n}\n/**\n * Properties of the GroupProperty to be updated.\n * @export\n * @interface GroupPropertyUpdateReportingAPI\n */\nexport interface GroupPropertyUpdateReportingAPI {\n /**\n * Name of the Property (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupPropertyUpdateReportingAPI\n */\n propertyName?: string;\n /**\n * The data type of the GroupProperty. One of 'Boolean', 'Number', 'String', or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyUpdateReportingAPI\n */\n dataType?: string;\n /**\n * The quantity type of the GroupProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.\n * @type {string}\n * @memberof GroupPropertyUpdateReportingAPI\n */\n quantityType?: string;\n /**\n * List of ECProperties that map to this GroupProperty.\n * @type {Array<ECPropertyReportingAPI>}\n * @memberof GroupPropertyUpdateReportingAPI\n */\n ecProperties?: Array<ECPropertyReportingAPI>;\n}\n/**\n * Defines a single Group (collection of iModel elements) in an iModel Mapping.\n * @export\n * @interface GroupReportingAPI\n */\nexport interface GroupReportingAPI {\n /**\n * The Group Id.\n * @type {string}\n * @memberof GroupReportingAPI\n */\n id?: string;\n /**\n * Name of the Group (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupReportingAPI\n */\n groupName?: string;\n /**\n * Description of the Group.\n * @type {string}\n * @memberof GroupReportingAPI\n */\n description?: string;\n /**\n * Query string that will be executed against the target iModel to build this Group.\n * @type {string}\n * @memberof GroupReportingAPI\n */\n query?: string;\n}\n/**\n * Container for a Group object.\n * @export\n * @interface GroupSingleReportingAPI\n */\nexport interface GroupSingleReportingAPI {\n /**\n *\n * @type {GroupReportingAPI}\n * @memberof GroupSingleReportingAPI\n */\n group?: GroupReportingAPI;\n}\n/**\n * Properties of the Group to be updated.\n * @export\n * @interface GroupUpdateReportingAPI\n */\nexport interface GroupUpdateReportingAPI {\n /**\n * Name of the Group (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof GroupUpdateReportingAPI\n */\n groupName?: string;\n /**\n * Description of the Group.\n * @type {string}\n * @memberof GroupUpdateReportingAPI\n */\n description?: string;\n /**\n * Query string that will be executed against the target iModel to build this Group.\n * @type {string}\n * @memberof GroupUpdateReportingAPI\n */\n query?: string;\n}\n/**\n * Hyperlink container.\n * @export\n * @interface LinkReportingAPI\n */\nexport interface LinkReportingAPI {\n /**\n * Hyperlink to the specific entity.\n * @type {string}\n * @memberof LinkReportingAPI\n */\n href?: string;\n}\n/**\n * List of Mappings.\n * @export\n * @interface MappingCollectionReportingAPI\n */\nexport interface MappingCollectionReportingAPI {\n /**\n * List of Mappings.\n * @type {Array<MappingReportingAPI>}\n * @memberof MappingCollectionReportingAPI\n */\n mappings?: Array<MappingReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof MappingCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties for the copied Mapping.\n * @export\n * @interface MappingCopyReportingAPI\n */\nexport interface MappingCopyReportingAPI {\n /**\n * The target iModel Id.\n * @type {string}\n * @memberof MappingCopyReportingAPI\n */\n targetIModelId: string;\n /**\n * Name of the target Mapping (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof MappingCopyReportingAPI\n */\n mappingName?: string;\n}\n/**\n * Properties of the Mapping to be created.\n * @export\n * @interface MappingCreateReportingAPI\n */\nexport interface MappingCreateReportingAPI {\n /**\n * Name of the Mapping (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof MappingCreateReportingAPI\n */\n mappingName?: string;\n /**\n * Description of the Mapping.\n * @type {string}\n * @memberof MappingCreateReportingAPI\n */\n description?: string;\n}\n/**\n * Contains contextual hyperlinks to related data.\n * @export\n * @interface MappingLinksReportingAPI\n */\nexport interface MappingLinksReportingAPI {\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof MappingLinksReportingAPI\n */\n imodel?: LinkReportingAPI;\n}\n/**\n * Defines a Mapping for an iModel. Each mapping represents a collection of 'Groups', sets of iModel elements, and their properties of interest.\n * @export\n * @interface MappingReportingAPI\n */\nexport interface MappingReportingAPI {\n /**\n * The Mapping Id.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n id?: string;\n /**\n * Name of the Mapping (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof MappingReportingAPI\n */\n mappingName?: string;\n /**\n * Description of the Mapping.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n description?: string;\n /**\n * Date when the Mapping was created.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n createdOn?: string;\n /**\n * Email of the user who created the Mapping.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n createdBy?: string;\n /**\n * Date when the Mapping was last modified.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n modifiedOn?: string;\n /**\n * Email of the user who last modified the Mapping.\n * @type {string}\n * @memberof MappingReportingAPI\n */\n modifiedBy?: string;\n /**\n *\n * @type {MappingLinksReportingAPI}\n * @memberof MappingReportingAPI\n */\n _links?: MappingLinksReportingAPI;\n}\n/**\n * Container for a Mapping object.\n * @export\n * @interface MappingSingleReportingAPI\n */\nexport interface MappingSingleReportingAPI {\n /**\n *\n * @type {MappingReportingAPI}\n * @memberof MappingSingleReportingAPI\n */\n mapping?: MappingReportingAPI;\n}\n/**\n * Properties of the Mapping to be updated.\n * @export\n * @interface MappingUpdateReportingAPI\n */\nexport interface MappingUpdateReportingAPI {\n /**\n * Name of the Mapping (OData v4 SimpleIdentifier).\n * @type {string}\n * @memberof MappingUpdateReportingAPI\n */\n mappingName?: string;\n /**\n * Description of the Mapping.\n * @type {string}\n * @memberof MappingUpdateReportingAPI\n */\n description?: string;\n}\n/**\n *\n * @export\n * @interface ODataItemReportingAPI\n */\nexport interface ODataItemReportingAPI {\n /**\n *\n * @type {string}\n * @memberof ODataItemReportingAPI\n */\n name?: string;\n /**\n *\n * @type {string}\n * @memberof ODataItemReportingAPI\n */\n url?: string;\n}\n/**\n * OData response.\n * @export\n * @interface ODataResponseReportingAPI\n */\nexport interface ODataResponseReportingAPI {\n /**\n *\n * @type {ODataResponseStatusReportingAPI}\n * @memberof ODataResponseReportingAPI\n */\n status?: ODataResponseStatusReportingAPI;\n}\n/**\n * OData response.\n * @export\n * @interface ODataResponseStatusReportingAPI\n */\nexport interface ODataResponseStatusReportingAPI {\n /**\n * OData Schema\n * @type {string}\n * @memberof ODataResponseStatusReportingAPI\n */\n odata_context?: string;\n /**\n *\n * @type {Array<ODataItemReportingAPI>}\n * @memberof ODataResponseStatusReportingAPI\n */\n value?: Array<ODataItemReportingAPI>;\n}\n/**\n * URLs for redoing the current request and/or getting the next page of results if applicable.\n * @export\n * @interface PagedResponseLinksReportingAPI\n */\nexport interface PagedResponseLinksReportingAPI {\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof PagedResponseLinksReportingAPI\n */\n next?: LinkReportingAPI;\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof PagedResponseLinksReportingAPI\n */\n self?: LinkReportingAPI;\n}\n/**\n * List of Reports.\n * @export\n * @interface ReportCollectionReportingAPI\n */\nexport interface ReportCollectionReportingAPI {\n /**\n * List of Reports.\n * @type {Array<ReportReportingAPI>}\n * @memberof ReportCollectionReportingAPI\n */\n reports?: Array<ReportReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof ReportCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the Report to be created.\n * @export\n * @interface ReportCreateReportingAPI\n */\nexport interface ReportCreateReportingAPI {\n /**\n * Name of the Report.\n * @type {string}\n * @memberof ReportCreateReportingAPI\n */\n displayName?: string;\n /**\n * Description of the Report.\n * @type {string}\n * @memberof ReportCreateReportingAPI\n */\n description?: string;\n /**\n * The Project Id this Report will be drawing data from.\n * @type {string}\n * @memberof ReportCreateReportingAPI\n */\n projectId?: string;\n}\n/**\n * Contains contextual hyperlinks to related data.\n * @export\n * @interface ReportLinksReportingAPI\n */\nexport interface ReportLinksReportingAPI {\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof ReportLinksReportingAPI\n */\n project?: LinkReportingAPI;\n}\n/**\n * List of Report Mappings.\n * @export\n * @interface ReportMappingCollectionReportingAPI\n */\nexport interface ReportMappingCollectionReportingAPI {\n /**\n * List of Report Mappings.\n * @type {Array<ReportMappingReportingAPI>}\n * @memberof ReportMappingCollectionReportingAPI\n */\n mappings?: Array<ReportMappingReportingAPI>;\n /**\n *\n * @type {PagedResponseLinksReportingAPI}\n * @memberof ReportMappingCollectionReportingAPI\n */\n _links?: PagedResponseLinksReportingAPI;\n}\n/**\n * Properties of the Report Mapping to be created.\n * @export\n * @interface ReportMappingCreateReportingAPI\n */\nexport interface ReportMappingCreateReportingAPI {\n /**\n * The Mapping Id that should be linked to this Report.\n * @type {string}\n * @memberof ReportMappingCreateReportingAPI\n */\n mappingId?: string;\n /**\n * The iModel Id.\n * @type {string}\n * @memberof ReportMappingCreateReportingAPI\n */\n imodelId?: string;\n}\n/**\n * Contains contextual hyperlinks to related data.\n * @export\n * @interface ReportMappingLinksReportingAPI\n */\nexport interface ReportMappingLinksReportingAPI {\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof ReportMappingLinksReportingAPI\n */\n report?: LinkReportingAPI;\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof ReportMappingLinksReportingAPI\n */\n mapping?: LinkReportingAPI;\n /**\n *\n * @type {LinkReportingAPI}\n * @memberof ReportMappingLinksReportingAPI\n */\n imodel?: LinkReportingAPI;\n}\n/**\n * Defines a relationship between Report and Mapping. A Mapping can be associated with more than one Report.\n * @export\n * @interface ReportMappingReportingAPI\n */\nexport interface ReportMappingReportingAPI {\n /**\n * The Report Id.\n * @type {string}\n * @memberof ReportMappingReportingAPI\n */\n reportId?: string;\n /**\n * The Mapping Id.\n * @type {string}\n * @memberof ReportMappingReportingAPI\n */\n mappingId?: string;\n /**\n * The iModel Id.\n * @type {string}\n * @memberof ReportMappingReportingAPI\n */\n imodelId?: string;\n /**\n *\n * @type {ReportMappingLinksReportingAPI}\n * @memberof ReportMappingReportingAPI\n */\n _links?: ReportMappingLinksReportingAPI;\n}\n/**\n * Container for a Report Mapping object.\n * @export\n * @interface ReportMappingSingleReportingAPI\n */\nexport interface ReportMappingSingleReportingAPI {\n /**\n *\n * @type {ReportMappingReportingAPI}\n * @memberof ReportMappingSingleReportingAPI\n */\n mapping?: ReportMappingReportingAPI;\n}\n/**\n * Defines a unit of data that can be exposed as an OData feed. The contents of a Report are defined in Report Mappings.\n * @export\n * @interface ReportReportingAPI\n */\nexport interface ReportReportingAPI {\n /**\n * The Report Id.\n * @type {string}\n * @memberof ReportReportingAPI\n */\n id?: string;\n /**\n * Name of the Report.\n * @type {string}\n * @memberof ReportReportingAPI\n */\n displayName?: string;\n /**\n * Description of the Report.\n * @type {string}\n * @memberof ReportReportingAPI\n */\n description?: string;\n /**\n * Flag indicating whether or not a Report has been marked for deletion.\n * @type {boolean}\n * @memberof ReportReportingAPI\n */\n deleted?: boolean;\n /**\n *\n * @type {ReportLinksReportingAPI}\n * @memberof ReportReportingAPI\n */\n _links?: ReportLinksReportingAPI;\n}\n/**\n * Container for a Report object.\n * @export\n * @interface ReportSingleReportingAPI\n */\nexport interface ReportSingleReportingAPI {\n /**\n *\n * @type {ReportReportingAPI}\n * @memberof ReportSingleReportingAPI\n */\n report?: ReportReportingAPI;\n}\n/**\n * Properties of the Report to be updated.\n * @export\n * @interface ReportUpdateReportingAPI\n */\nexport interface ReportUpdateReportingAPI {\n /**\n * Name of the Report.\n * @type {string}\n * @memberof ReportUpdateReportingAPI\n */\n displayName?: string;\n /**\n * Description of the Report.\n * @type {string}\n * @memberof ReportUpdateReportingAPI\n */\n description?: string;\n /**\n * Flag indicating whether or not a Report has been marked for deletion.\n * @type {boolean}\n * @memberof ReportUpdateReportingAPI\n */\n deleted?: boolean;\n}\n/**\n * DataAccessApi - fetch parameter creator\n * @export\n */\nexport const DataAccessApiFetchParamCreator = function (\n configuration?: Configuration,\n) {\n return {\n /**\n * --- Lists all OData Entities for a Report. This endpoint can be used as an OData feed in applications like Excel or Power BI. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling odata.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling odata.',\n );\n }\n const localVarPath = `/odata/{reportId}`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Lists the raw table data for a Report Entity. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Entity\n * @param {string} reportId The Report Id.\n * @param {string} region NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} manifestId NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} entityType NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataEntity(\n reportId: string,\n region: string,\n manifestId: string,\n entityType: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling odataEntity.',\n );\n }\n // verify required parameter 'region' is not null or undefined\n if (region === null || region === undefined) {\n throw new RequiredError(\n 'region',\n 'Required parameter region was null or undefined when calling odataEntity.',\n );\n }\n // verify required parameter 'manifestId' is not null or undefined\n if (manifestId === null || manifestId === undefined) {\n throw new RequiredError(\n 'manifestId',\n 'Required parameter manifestId was null or undefined when calling odataEntity.',\n );\n }\n // verify required parameter 'entityType' is not null or undefined\n if (entityType === null || entityType === undefined) {\n throw new RequiredError(\n 'entityType',\n 'Required parameter entityType was null or undefined when calling odataEntity.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling odataEntity.',\n );\n }\n const localVarPath =\n `/odata/{reportId}/{region}/{manifestId}/{entityType}`\n .replace(`{${'reportId'}}`, encodeURIComponent(String(reportId)))\n .replace(`{${'region'}}`, encodeURIComponent(String(region)))\n .replace(`{${'manifestId'}}`, encodeURIComponent(String(manifestId)))\n .replace(`{${'entityType'}}`, encodeURIComponent(String(entityType)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Lists schemas for all Entities tied to a Report. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Metadata\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataMetadata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling odataMetadata.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling odataMetadata.',\n );\n }\n const localVarPath = `/odata/{reportId}/$metadata`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n };\n};\n\n/**\n * DataAccessApi - functional programming interface\n * @export\n */\nexport const DataAccessApiFp = function (configuration?: Configuration) {\n return {\n /**\n * --- Lists all OData Entities for a Report. This endpoint can be used as an OData feed in applications like Excel or Power BI. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ODataResponseReportingAPI> {\n const localVarFetchArgs = DataAccessApiFetchParamCreator(\n configuration,\n ).odata(reportId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Lists the raw table data for a Report Entity. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Entity\n * @param {string} reportId The Report Id.\n * @param {string} region NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} manifestId NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} entityType NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataEntity(\n reportId: string,\n region: string,\n manifestId: string,\n entityType: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = DataAccessApiFetchParamCreator(\n configuration,\n ).odataEntity(\n reportId,\n region,\n manifestId,\n entityType,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Lists schemas for all Entities tied to a Report. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Metadata\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataMetadata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = DataAccessApiFetchParamCreator(\n configuration,\n ).odataMetadata(reportId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n };\n};\n\n/**\n * DataAccessApi - factory interface\n * @export\n */\nexport const DataAccessApiFactory = function (\n configuration?: Configuration,\n fetch?: FetchAPI,\n basePath?: string,\n) {\n return {\n /**\n * --- Lists all OData Entities for a Report. This endpoint can be used as an OData feed in applications like Excel or Power BI. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(configuration).odata(\n reportId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Lists the raw table data for a Report Entity. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Entity\n * @param {string} reportId The Report Id.\n * @param {string} region NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} manifestId NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} entityType NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataEntity(\n reportId: string,\n region: string,\n manifestId: string,\n entityType: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(configuration).odataEntity(\n reportId,\n region,\n manifestId,\n entityType,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Lists schemas for all Entities tied to a Report. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Metadata\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n odataMetadata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(configuration).odataMetadata(\n reportId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n };\n};\n\n/**\n * DataAccessApi - object-oriented interface\n * @export\n * @class DataAccessApi\n * @extends {BaseAPI}\n */\nexport class DataAccessApi extends BaseAPI {\n /**\n * --- Lists all OData Entities for a Report. This endpoint can be used as an OData feed in applications like Excel or Power BI. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DataAccessApi\n */\n public odata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(this.configuration).odata(\n reportId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Lists the raw table data for a Report Entity. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Entity\n * @param {string} reportId The Report Id.\n * @param {string} region NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} manifestId NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} entityType NOTE: These parameters are not meant to be set manually. Instead use the URLs generated by the OData endpoint directly.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DataAccessApi\n */\n public odataEntity(\n reportId: string,\n region: string,\n manifestId: string,\n entityType: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(this.configuration).odataEntity(\n reportId,\n region,\n manifestId,\n entityType,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Lists schemas for all Entities tied to a Report. ### Notes This is an OData v4 compliant endpoint. This endpoint should only be accessed using OData compliant libraries and tools such as Power BI. Use of these endpoints directly is not prohibited, however we recommend understanding the [OData protocols and conventions](https://www.odata.org/documentation/) first. ### Authentication Requires `Authorization` header with one of schemes: - Valid [API Key](/apis/insights/api-keys) used as the password in Basic auth. - Valid Bearer token for scope `insights:read`. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary OData Metadata\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DataAccessApi\n */\n public odataMetadata(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return DataAccessApiFp(this.configuration).odataMetadata(\n reportId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n}\n/**\n * ExtractionApi - fetch parameter creator\n * @export\n */\nexport const ExtractionApiFetchParamCreator = function (\n configuration?: Configuration,\n) {\n return {\n /**\n * --- Gets the Status of an Extraction Run. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Extraction Status\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} jobId Unique Identifier of the Extraction Run.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getExtractionStatus(\n imodelId: string,\n jobId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getExtractionStatus.',\n );\n }\n // verify required parameter 'jobId' is not null or undefined\n if (jobId === null || jobId === undefined) {\n throw new RequiredError(\n 'jobId',\n 'Required parameter jobId was null or undefined when calling getExtractionStatus.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getExtractionStatus.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/extraction/status/{jobId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'jobId'}}`, encodeURIComponent(String(jobId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Manually run Extraction of data from an iModel. Latest Named Version is used for Extraction. For the iModel data source, data must be Extracted first before it can be used in your Reports. ### Notes iModel data Extraction is executed automatically after new Named Version is created. Do not call this API on scheduled basis or after making changes to an iModel. Only call this API after creating or changing an iModel Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Run Extraction\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n runExtraction(\n imodelId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling runExtraction.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling runExtraction.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/extraction/run`.replace(\n `{${'imodelId'}}`,\n encodeURIComponent(String(imodelId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n };\n};\n\n/**\n * ExtractionApi - functional programming interface\n * @export\n */\nexport const ExtractionApiFp = function (configuration?: Configuration) {\n return {\n /**\n * --- Gets the Status of an Extraction Run. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Extraction Status\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} jobId Unique Identifier of the Extraction Run.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getExtractionStatus(\n imodelId: string,\n jobId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ExtractionStatusReportingAPI> {\n const localVarFetchArgs = ExtractionApiFetchParamCreator(\n configuration,\n ).getExtractionStatus(imodelId, jobId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Manually run Extraction of data from an iModel. Latest Named Version is used for Extraction. For the iModel data source, data must be Extracted first before it can be used in your Reports. ### Notes iModel data Extraction is executed automatically after new Named Version is created. Do not call this API on scheduled basis or after making changes to an iModel. Only call this API after creating or changing an iModel Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Run Extraction\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n runExtraction(\n imodelId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ExtractionRunReportingAPI> {\n const localVarFetchArgs = ExtractionApiFetchParamCreator(\n configuration,\n ).runExtraction(imodelId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n };\n};\n\n/**\n * ExtractionApi - factory interface\n * @export\n */\nexport const ExtractionApiFactory = function (\n configuration?: Configuration,\n fetch?: FetchAPI,\n basePath?: string,\n) {\n return {\n /**\n * --- Gets the Status of an Extraction Run. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Extraction Status\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} jobId Unique Identifier of the Extraction Run.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getExtractionStatus(\n imodelId: string,\n jobId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ExtractionApiFp(configuration).getExtractionStatus(\n imodelId,\n jobId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Manually run Extraction of data from an iModel. Latest Named Version is used for Extraction. For the iModel data source, data must be Extracted first before it can be used in your Reports. ### Notes iModel data Extraction is executed automatically after new Named Version is created. Do not call this API on scheduled basis or after making changes to an iModel. Only call this API after creating or changing an iModel Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Run Extraction\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n runExtraction(\n imodelId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ExtractionApiFp(configuration).runExtraction(\n imodelId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n };\n};\n\n/**\n * ExtractionApi - object-oriented interface\n * @export\n * @class ExtractionApi\n * @extends {BaseAPI}\n */\nexport class ExtractionApi extends BaseAPI {\n /**\n * --- Gets the Status of an Extraction Run. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Extraction Status\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} jobId Unique Identifier of the Extraction Run.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExtractionApi\n */\n public getExtractionStatus(\n imodelId: string,\n jobId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ExtractionApiFp(this.configuration).getExtractionStatus(\n imodelId,\n jobId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Manually run Extraction of data from an iModel. Latest Named Version is used for Extraction. For the iModel data source, data must be Extracted first before it can be used in your Reports. ### Notes iModel data Extraction is executed automatically after new Named Version is created. Do not call this API on scheduled basis or after making changes to an iModel. Only call this API after creating or changing an iModel Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Run Extraction\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ExtractionApi\n */\n public runExtraction(\n imodelId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ExtractionApiFp(this.configuration).runExtraction(\n imodelId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n}\n/**\n * MappingsApi - fetch parameter creator\n * @export\n */\nexport const MappingsApiFetchParamCreator = function (\n configuration?: Configuration,\n) {\n return {\n /**\n * --- Copies a Mapping and all its Groups, GroupProperties, CalculatedProperties, and CustomCalculations to a target iModel. The `mappingName` request body property is optional. If the `mappingName` is not provided the new Mapping will have the same name as the source Mapping but with the `_Copy` appendix. If the `mappingName` is provided the new Mapping will have the provided name. The `mappingName` property becomes mandatory if the source Mapping has 124 or more characters in its name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Copy Mapping\n * @param {string} imodelId Id of the source Mapping's iModel.\n * @param {string} mappingId Id of the source Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCopyReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n copyMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingCopyReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling copyMapping.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling copyMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling copyMapping.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/copy`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'MappingCopyReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a CalculatedProperty for a Group. Each CalculatedProperty defines a property or 'column' which is calculated for each element that is returned by the Group's query. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CalculatedProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CalculatedPropertyCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling createCalculatedproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling createCalculatedproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling createCalculatedproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createCalculatedproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/calculatedProperties`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'CalculatedPropertyCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a CustomCalculation for a Group. Each CustomCalculation defines a column in the output data which is filled with values calculated using the given formula for each element that is returned by the Group's query. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CustomCalculation.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CustomCalculationCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling createCustomcalculation.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling createCustomcalculation.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling createCustomcalculation.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createCustomcalculation.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/customCalculations`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'CustomCalculationCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a Group for an iModel data source Mapping. A Group is a collection of design elements from an iModel represented by an [ECSQL](https://www.itwinjs.org/learning/ecsql/) query and defines one table in the output data of a report. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping for which to create a new Group.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroup(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: GroupCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling createGroup.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling createGroup.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createGroup.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'GroupCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a GroupProperty for a Group. Each GroupProperty defines a column of mapped data. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new GroupProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupPropertyCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling createGroupproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling createGroupproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling createGroupproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createGroupproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/properties`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'GroupPropertyCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a Mapping for an iModel. Each Mapping represents a collection of tables (Groups) of data that can be consumed in a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Mapping\n * @param {string} imodelId Id of the iModel for which to create a new Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createMapping(\n imodelId: string,\n Authorization: string,\n body?: MappingCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling createMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createMapping.',\n );\n }\n const localVarPath = `/datasources/imodels/{imodelId}/mappings`.replace(\n `{${'imodelId'}}`,\n encodeURIComponent(String(imodelId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'MappingCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a CalculatedProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling deleteCalculatedproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteCalculatedproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling deleteCalculatedproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling deleteCalculatedproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteCalculatedproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/calculatedProperties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a CustomCalculation from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling deleteCustomcalculation.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteCustomcalculation.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling deleteCustomcalculation.',\n );\n }\n // verify required parameter 'customCalculationId' is not null or undefined\n if (customCalculationId === null || customCalculationId === undefined) {\n throw new RequiredError(\n 'customCalculationId',\n 'Required parameter customCalculationId was null or undefined when calling deleteCustomcalculation.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteCustomcalculation.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/customCalculations/{customCalculationId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(\n `{${'customCalculationId'}}`,\n encodeURIComponent(String(customCalculationId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a Group for a Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling deleteGroup.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteGroup.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling deleteGroup.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteGroup.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a GroupProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling deleteGroupproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteGroupproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling deleteGroupproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling deleteGroupproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteGroupproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/properties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling deleteMapping.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteMapping.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all CalculatedProperties for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getCalculatedproperties.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getCalculatedproperties.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getCalculatedproperties.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getCalculatedproperties.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/calculatedProperties`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getCalculatedproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getCalculatedproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getCalculatedproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling getCalculatedproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getCalculatedproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/calculatedProperties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getCustomcalculation.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getCustomcalculation.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getCustomcalculation.',\n );\n }\n // verify required parameter 'customCalculationId' is not null or undefined\n if (customCalculationId === null || customCalculationId === undefined) {\n throw new RequiredError(\n 'customCalculationId',\n 'Required parameter customCalculationId was null or undefined when calling getCustomcalculation.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getCustomcalculation.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/customCalculations/{customCalculationId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(\n `{${'customCalculationId'}}`,\n encodeURIComponent(String(customCalculationId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all CustomCalculations for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculations\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculations(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getCustomcalculations.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getCustomcalculations.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getCustomcalculations.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getCustomcalculations.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/customCalculations`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getGroup.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getGroup.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getGroup.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getGroup.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all GroupProperties for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getGroupproperties.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getGroupproperties.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getGroupproperties.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getGroupproperties.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/properties`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The GroupProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getGroupproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getGroupproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling getGroupproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling getGroupproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getGroupproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/properties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all Groups for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Groups\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroups(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getGroups.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getGroups.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getGroups.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getMapping.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling getMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getMapping.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all Mappings for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mappings\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMappings(\n imodelId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling getMappings.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getMappings.',\n );\n }\n const localVarPath = `/datasources/imodels/{imodelId}/mappings`.replace(\n `{${'imodelId'}}`,\n encodeURIComponent(String(imodelId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: CalculatedPropertyUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling updateCalculatedproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling updateCalculatedproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling updateCalculatedproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling updateCalculatedproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateCalculatedproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/calculatedProperties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'PATCH' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'CalculatedPropertyUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n body?: CustomCalculationUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling updateCustomcalculation.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling updateCustomcalculation.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling updateCustomcalculation.',\n );\n }\n // verify required parameter 'customCalculationId' is not null or undefined\n if (customCalculationId === null || customCalculationId === undefined) {\n throw new RequiredError(\n 'customCalculationId',\n 'Required parameter customCalculationId was null or undefined when calling updateCustomcalculation.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateCustomcalculation.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/customCalculations/{customCalculationId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(\n `{${'customCalculationId'}}`,\n encodeURIComponent(String(customCalculationId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'PATCH' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'CustomCalculationUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Group\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} mappingId Globally Unique Identifier of the target Mapping.\n * @param {string} groupId Id of the Group to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling updateGroup.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling updateGroup.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling updateGroup.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateGroup.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'PATCH' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'GroupUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: GroupPropertyUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling updateGroupproperty.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling updateGroupproperty.',\n );\n }\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError(\n 'groupId',\n 'Required parameter groupId was null or undefined when calling updateGroupproperty.',\n );\n }\n // verify required parameter 'propertyId' is not null or undefined\n if (propertyId === null || propertyId === undefined) {\n throw new RequiredError(\n 'propertyId',\n 'Required parameter propertyId was null or undefined when calling updateGroupproperty.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateGroupproperty.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}/groups/{groupId}/properties/{propertyId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)))\n .replace(`{${'groupId'}}`, encodeURIComponent(String(groupId)))\n .replace(`{${'propertyId'}}`, encodeURIComponent(String(propertyId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'PUT' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'GroupPropertyUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'imodelId' is not null or undefined\n if (imodelId === null || imodelId === undefined) {\n throw new RequiredError(\n 'imodelId',\n 'Required parameter imodelId was null or undefined when calling updateMapping.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling updateMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateMapping.',\n );\n }\n const localVarPath =\n `/datasources/imodels/{imodelId}/mappings/{mappingId}`\n .replace(`{${'imodelId'}}`, encodeURIComponent(String(imodelId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'PATCH' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'MappingUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n };\n};\n\n/**\n * MappingsApi - functional programming interface\n * @export\n */\nexport const MappingsApiFp = function (configuration?: Configuration) {\n return {\n /**\n * --- Copies a Mapping and all its Groups, GroupProperties, CalculatedProperties, and CustomCalculations to a target iModel. The `mappingName` request body property is optional. If the `mappingName` is not provided the new Mapping will have the same name as the source Mapping but with the `_Copy` appendix. If the `mappingName` is provided the new Mapping will have the provided name. The `mappingName` property becomes mandatory if the source Mapping has 124 or more characters in its name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Copy Mapping\n * @param {string} imodelId Id of the source Mapping's iModel.\n * @param {string} mappingId Id of the source Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCopyReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n copyMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingCopyReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<MappingSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).copyMapping(imodelId, mappingId, Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a CalculatedProperty for a Group. Each CalculatedProperty defines a property or 'column' which is calculated for each element that is returned by the Group's query. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CalculatedProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CalculatedPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CalculatedPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).createCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a CustomCalculation for a Group. Each CustomCalculation defines a column in the output data which is filled with values calculated using the given formula for each element that is returned by the Group's query. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CustomCalculation.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CustomCalculationCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CustomCalculationSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).createCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a Group for an iModel data source Mapping. A Group is a collection of design elements from an iModel represented by an [ECSQL](https://www.itwinjs.org/learning/ecsql/) query and defines one table in the output data of a report. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping for which to create a new Group.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroup(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: GroupCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).createGroup(imodelId, mappingId, Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a GroupProperty for a Group. Each GroupProperty defines a column of mapped data. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new GroupProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).createGroupproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a Mapping for an iModel. Each Mapping represents a collection of tables (Groups) of data that can be consumed in a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Mapping\n * @param {string} imodelId Id of the iModel for which to create a new Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createMapping(\n imodelId: string,\n Authorization: string,\n body?: MappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<MappingSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).createMapping(imodelId, Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a CalculatedProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).deleteCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a CustomCalculation from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).deleteCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a Group for a Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).deleteGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a GroupProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).deleteGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).deleteMapping(imodelId, mappingId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all CalculatedProperties for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CalculatedPropertyCollectionReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getCalculatedproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CalculatedPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CustomCalculationSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all CustomCalculations for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculations\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculations(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CustomCalculationCollectionReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getCustomcalculations(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getGroup(imodelId, mappingId, groupId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all GroupProperties for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupPropertyCollectionReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getGroupproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The GroupProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all Groups for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Groups\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroups(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupCollectionReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getGroups(\n imodelId,\n mappingId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<MappingSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getMapping(imodelId, mappingId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all Mappings for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mappings\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMappings(\n imodelId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<MappingCollectionReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).getMappings(\n imodelId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: CalculatedPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CalculatedPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).updateCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n body?: CustomCalculationUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<CustomCalculationSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).updateCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Group\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} mappingId Globally Unique Identifier of the target Mapping.\n * @param {string} groupId Id of the Group to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).updateGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: GroupPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<GroupPropertySingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).updateGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<MappingSingleReportingAPI> {\n const localVarFetchArgs = MappingsApiFetchParamCreator(\n configuration,\n ).updateMapping(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n };\n};\n\n/**\n * MappingsApi - factory interface\n * @export\n */\nexport const MappingsApiFactory = function (\n configuration?: Configuration,\n fetch?: FetchAPI,\n basePath?: string,\n) {\n return {\n /**\n * --- Copies a Mapping and all its Groups, GroupProperties, CalculatedProperties, and CustomCalculations to a target iModel. The `mappingName` request body property is optional. If the `mappingName` is not provided the new Mapping will have the same name as the source Mapping but with the `_Copy` appendix. If the `mappingName` is provided the new Mapping will have the provided name. The `mappingName` property becomes mandatory if the source Mapping has 124 or more characters in its name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Copy Mapping\n * @param {string} imodelId Id of the source Mapping's iModel.\n * @param {string} mappingId Id of the source Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCopyReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n copyMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingCopyReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).copyMapping(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a CalculatedProperty for a Group. Each CalculatedProperty defines a property or 'column' which is calculated for each element that is returned by the Group's query. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CalculatedProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CalculatedPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).createCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a CustomCalculation for a Group. Each CustomCalculation defines a column in the output data which is filled with values calculated using the given formula for each element that is returned by the Group's query. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CustomCalculation.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CustomCalculationCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).createCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a Group for an iModel data source Mapping. A Group is a collection of design elements from an iModel represented by an [ECSQL](https://www.itwinjs.org/learning/ecsql/) query and defines one table in the output data of a report. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping for which to create a new Group.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroup(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: GroupCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).createGroup(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a GroupProperty for a Group. Each GroupProperty defines a column of mapped data. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new GroupProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).createGroupproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a Mapping for an iModel. Each Mapping represents a collection of tables (Groups) of data that can be consumed in a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Mapping\n * @param {string} imodelId Id of the iModel for which to create a new Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createMapping(\n imodelId: string,\n Authorization: string,\n body?: MappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).createMapping(\n imodelId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a CalculatedProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).deleteCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a CustomCalculation from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).deleteCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a Group for a Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).deleteGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a GroupProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).deleteGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).deleteMapping(\n imodelId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all CalculatedProperties for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getCalculatedproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all CustomCalculations for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculations\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCustomcalculations(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getCustomcalculations(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all GroupProperties for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getGroupproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The GroupProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all Groups for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Groups\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGroups(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getGroups(\n imodelId,\n mappingId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getMapping(\n imodelId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all Mappings for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mappings\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getMappings(\n imodelId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).getMappings(\n imodelId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: CalculatedPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).updateCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n body?: CustomCalculationUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).updateCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Group\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} mappingId Globally Unique Identifier of the target Mapping.\n * @param {string} groupId Id of the Group to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).updateGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: GroupPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).updateGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(configuration).updateMapping(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n };\n};\n\n/**\n * MappingsApi - object-oriented interface\n * @export\n * @class MappingsApi\n * @extends {BaseAPI}\n */\nexport class MappingsApi extends BaseAPI {\n /**\n * --- Copies a Mapping and all its Groups, GroupProperties, CalculatedProperties, and CustomCalculations to a target iModel. The `mappingName` request body property is optional. If the `mappingName` is not provided the new Mapping will have the same name as the source Mapping but with the `_Copy` appendix. If the `mappingName` is provided the new Mapping will have the provided name. The `mappingName` property becomes mandatory if the source Mapping has 124 or more characters in its name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Copy Mapping\n * @param {string} imodelId Id of the source Mapping's iModel.\n * @param {string} mappingId Id of the source Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCopyReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public copyMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingCopyReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).copyMapping(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a CalculatedProperty for a Group. Each CalculatedProperty defines a property or 'column' which is calculated for each element that is returned by the Group's query. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CalculatedProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public createCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CalculatedPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).createCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a CustomCalculation for a Group. Each CustomCalculation defines a column in the output data which is filled with values calculated using the given formula for each element that is returned by the Group's query. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new CustomCalculation.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public createCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: CustomCalculationCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).createCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a Group for an iModel data source Mapping. A Group is a collection of design elements from an iModel represented by an [ECSQL](https://www.itwinjs.org/learning/ecsql/) query and defines one table in the output data of a report. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping for which to create a new Group.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public createGroup(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: GroupCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).createGroup(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a GroupProperty for a Group. Each GroupProperty defines a column of mapped data. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group for which to create a new GroupProperty.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public createGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupPropertyCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).createGroupproperty(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a Mapping for an iModel. Each Mapping represents a collection of tables (Groups) of data that can be consumed in a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Mapping\n * @param {string} imodelId Id of the iModel for which to create a new Mapping.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public createMapping(\n imodelId: string,\n Authorization: string,\n body?: MappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).createMapping(\n imodelId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a CalculatedProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public deleteCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).deleteCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a CustomCalculation from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public deleteCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).deleteCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a Group for a Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId Id of the Group to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public deleteGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).deleteGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a GroupProperty from a Group. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public deleteGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).deleteGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public deleteMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).deleteMapping(\n imodelId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all CalculatedProperties for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getCalculatedproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getCalculatedproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId The CalculatedProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all CustomCalculations for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get CustomCalculations\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getCustomcalculations(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getCustomcalculations(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Group\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all GroupProperties for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperties\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getGroupproperties(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getGroupproperties(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId The GroupProperty Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all Groups for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Groups\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getGroups(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getGroups(\n imodelId,\n mappingId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getMapping(\n imodelId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all Mappings for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Mappings\n * @param {string} imodelId The iModel Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public getMappings(\n imodelId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).getMappings(\n imodelId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a CalculatedProperty for a Group. ### Calculation Types Calculation types that start with `BoundingBox` use element aligned bounding boxes. They can be used for approximations of geometric element dimensions when there are no available properties that would have exact dimensions. Some errors may occur due to bounding boxes not being a perfect fit for the surrounded element. List of all available calculation types: - `Length` - calculation of a linear element length or a perimeter of a geometric element that does not have a volume. For elements that have a volume use BoundingBox calculations to approximate the length. - `Area` - calculation of a geometric element's surface area. - `Volume` - calculation of a geometric element's volume. - `BoundingBoxLongestEdgeLength` - calculation that gives the longest edge length of an element aligned bounding box. - `BoundingBoxIntermediateEdgeLength` - calculation that gives the edge length that is not the longest nor the shortest of an element aligned bounding box. - `BoundingBoxShortestEdgeLength` - calculation that gives the shortest edge length of an element aligned bounding box. - `BoundingBoxDiagonalLength` - calculation that gives the distance between 2 opposite corners of the element aligned bounding box. - `BoundingBoxLongestFaceDiagonalLength` - calculation that gives the longest distance between 2 opposite corners of a face on the element aligned bounding box. - `BoundingBoxIntermediateFaceDiagonalLength` - calculation that gives the distance between 2 opposite corners of a face on the element aligned bounding box that is not the longest nor the shortest. - `BoundingBoxShortestFaceDiagonalLength` - calculation that gives the shortest distance between 2 opposite corners of a face on the element aligned bounding box. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CalculatedProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the CalculatedProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CalculatedPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public updateCalculatedproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: CalculatedPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).updateCalculatedproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a CustomCalculation for a Group. ### CustomCalculations CustomCalculation is a kind of Group property which has a mathematical formula. CustomCalculation defines a column in the output data which gets filled with a result of the formula evaluation. The formula is evaluated during each extraction for each row of the Group's query result. The formula supports using other columns (GroupProperty, CalculatedProperty or CustomCalculation entities) as variables. Recursive formulas are not supported, i.e., formula containing a variable `X` is not supported inside a CustomCalculation with a `propertyName` equal to `X`. Supported operators: - Unary `-` (negation) has a precedence of 5 and right associativity - `**` (exponentiation) has a precedence of 4 and right associativity - `*` (multiplication) has a precedence of 3 and left associativity - `/` (division) has a precedence of 3 and left associativity - `%` (remainder) has a precedence of 3 and left associativity - `+` (addition) has a precedence of 2 and left associativity - Binary `-` (subtraction) has a precedence of 2 and left associativity Parenthesis `(` and `)` can be used to change the precedence of operations. Variables, constants, and functions have a precedence of 1 and left associativity. Supported constants: - `E` - Euler's constant and the base of natural logarithms (approx. 2.718) - `LN2` - natural logarithm of 2 (approx. 0.693) - `LN10` - natural logarithm of 10 (approx. 2.303) - `LOG2E` - base-2 logarithm of `E` (approx. 1.443) - `PI` - ratio of a circle's circumference to its diameter (approx. 3.14159) - `SQRT1_2` - square root of ½ (approx. 0.707) - `SQRT2` - square root of 2 (approx. 1.414) Supported numeric constant formats: - Decimal, e.g., `123` or `1.123` - Binary (base 2), e.g., `0b1010` - Octal (base 8), e.g., `0o1234567` - Hexadecimal (base 16), e.g., `0x123af` - Scientific notation, e.g., `1.123e+3` Supported functions: - `abs(x)` - returns the absolute value of `x` - `acos(x)` - returns the arccosine of `x` - `acosh(x)` - returns the hyperbolic arccosine of `x` - `asin(x)` - returns the arcsine of `x` - `asinh(x)` - returns the hyperbolic arcsine of `x` - `atan(x)` - returns the arctangent of `x` - `atanh(x)` - returns the hyperbolic arctangent of `x` - `atan2(y, x)` - returns the arctangent of the quotient of `y` divided by `x` - `cbrt(x)` - returns the cube root of `x` - `ceil(x)` - returns the smallest integer greater than or equal to `x` - `clz32(x)` - returns the number of leading zero bits of the 32-bit integer `x` - `cos(x)` - returns the cosine of `x` - `cosh(x)` - returns the hyperbolic cosine of `x` - `exp(x)` - returns `E ** x` or `pow(E, x)`, where `x` is the argument, and `E` is Euler's constant (2.718…, the base of the natural logarithm) - `expm1(x)` - returns subtracting 1 from `exp(x)` - `floor(x)` - returns the largest integer less than or equal to `x` - `fround(x)` - returns the nearest single precision float representation of `x` - `hypot(x, y[, z[, …]])` - returns the square root of the sum of squares of its arguments - `imul(x, y)` - returns the result of the 32-bit integer multiplication of `x` and `y` - `log(x)` - returns the natural logarithm of `x` - `log1p(x)` - returns the natural logarithm of `1 + x` - `log10(x)` - returns the base-10 logarithm of `x` - `log2(x)` - returns the base-2 logarithm of `x` - `max(x, y[, z[, …]])` - returns the largest of 2 or more numbers - `min(x, y[, z[, …]])` - returns the smallest of 2 or more numbers - `pow(x, y)` - returns base `x` to the exponent power `y` (i.e., `x**y`) - `random()` - returns a pseudo-random number between 0 and 1. The value only changes between different output tables. All rows within a single output table get the same value - `round(x)` - returns the value of the number `x` rounded to the nearest integer - `sign(x)` - returns the sign of the `x`, indicating whether `x` is positive (`1`), negative (`-1`), or zero (`0`) - `sin(x)` - returns the sine of `x` - `sinh(x)` - returns the hyperbolic sine of `x` - `sqrt(x)` - returns the positive square root of `x` - `tan(x)` - returns the tangent of `x` - `tanh(x)` - returns the hyperbolic tangent of `x` - `trunc(x)` - returns the integer portion of `x`, removing any fractional digits Examples of supported formulas: - `min(A * B, B * C, A * C)` - if `A`, `B`, and `C` are 3 different lengths of box edges, then this formula will result in the smallest side surface area of that box - `min * max` - formula does not have parenthesis after function names, so the `min` and `max` operands are treated as variables (other columns), not as functions. If the Group has columns `min` and `max`, and their values are `2` and `5`, then the result of this formula is `10` for that row - `2 ** 3` - 2 raised to the power of 3. Result will be 8. This can also be written as `pow(2, 3)` - `min(cos(X), sin(X))` - function nesting is supported - `A * (B + C)` - `A` multiplied by the sum of `B` and `C` - `A * B + C` - same as `(A * B) + C` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update CustomCalculation\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} customCalculationId Id of the CustomCalculation to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {CustomCalculationUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public updateCustomcalculation(\n imodelId: string,\n mappingId: string,\n groupId: string,\n customCalculationId: string,\n Authorization: string,\n body?: CustomCalculationUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).updateCustomcalculation(\n imodelId,\n mappingId,\n groupId,\n customCalculationId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a Group for a Mapping. ### Group Query The `query` parameter of a Group supports ECSql and ECClassIds. If a valid ECSql query is given and the selected class is `bis.Element`, or if it is a descendant of the class `bis.Element`, the only required column is `ECInstanceId`. - `SELECT * FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT * FROM Building.Beam` is a valid query - `SELECT ECInstanceId FROM bis.Element` is a valid query - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECInstanceId FROM Building.Beam` is valid - `SELECT ECClassId FROM bis.Element` is _not_ a valid query because ECInstanceId column is missing - Assuming that class `Building.Beam` is a descendant of the class `bis.Element`, the query `SELECT ECClassId FROM Building.Beam` is _not_ valid because ECInstanceId column is missing - Assuming that `Building.BeamAspect` is an aspect, the query `SELECT A.ECInstanceId FROM bis.Element E JOIN Building.BeamAspect A ON A.Element.Id = E.ECInstanceId` is _not_ valid because the selected `ECInstanceId` is of the aspect, not the element In all other cases when providing an ECSql query it is required to select `ECInstanceId`, `ECClassId`, and all other columns that you are planning to use for mapping. If only `ECInstanceId` and `ECClassId` are selected and other columns are used for mapping, those columns will be filled with `null` values. If either `ECInstanceId` or `ECClassId` column is not selected, the query will not produce any output. If the `query` parameter does not contain a valid ECSql query, then it must be equal to `bis.Element`, `bis.ElementAspect`, or any of their descendants. The ECClassId format `{schemaName}:{schemaItemName}` where `schemaName` does not contain a 3-part version number is supported. The ECClassId format `{schemaName}.{schemaItemName}` is supported. The ECClassId format `{schemaAlias}:{schemaItemName}` where `schemaAlias` is the alias of a `schemaName` is supported. The ECClassId format `{schemaFullName}:{schemaItemName}` where `schemaFullName` contains a 3-part version number is _not_ supported. When the given ECClassId is equal to `bis.Element` or is one of its descendants, then all elements with the ECClassId will be selected. When the given ECClassId is equal to `bis.ElementAspect` or is one of its descendants, then all elements that have such aspect will be selected. When the given ECClassId is none of the above, the query will not produce any output. - If a class `Building.Beam` does not have any subclasses and the `query` parameter is set to `Building.Beam`, then all elements with ECClassIds of `Building.Beam` will be selected - If there is a class `Building.StructuralMember` which has 2 subclasses `Building.Beam` and `Building.Column`, and the `query` parameter is set to `Building.StructuralMember`, then all elements with ECClassIds of `Building.StructuralMember`, `Building.Beam`, and `Building.Column` will be selected - If a class `Building.BeamAspect` inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.BeamAspect`, then all elements that have a `Building.BeamAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId - If there is class `Building.StructuralMemberAspect` which has 2 subclasses `Building.BeamAspect` and `Building.ColumnAspect`, the `Building.StructuralMemberAspect` class inherits from a class `bis.ElementAspect` (is unique or multi aspect) and the `query` parameter is set to `Building.StructuralMemberAspect`, then all elements that have `Building.StructuralMemberAspect`, `Building.BeamAspect`, or `Building.ColumnAspect` attached to them will be selected. This query will _not_ select the aspects themselves, but the elements that they are attached to. The selected elements may have any ECClassId If different queries are needed for a single output table, then create multiple Groups with those different queries but with the same name for each Group. That will cause results of all these queries to be concatenated into a single output table. The output table will have column list equal to a union of all GroupProperties of Groups with the same name. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Group\n * @param {string} imodelId Globally Unique Identifier of the target iModel.\n * @param {string} mappingId Globally Unique Identifier of the target Mapping.\n * @param {string} groupId Id of the Group to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public updateGroup(\n imodelId: string,\n mappingId: string,\n groupId: string,\n Authorization: string,\n body?: GroupUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).updateGroup(\n imodelId,\n mappingId,\n groupId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a GroupProperty for a Group. ### Mapping ECProperties GroupProperties define mappings from ECProperties on an iModel to columns. They allow mapping the queried, element, element aspect, or related element properties. Content of the columns depend on the `ecProperties` field. The `ecProperties` field is a prioritized array which contains `ECProperty` entities. The closer the `ECProperty` is to the array's start, the higher the priority. The priority of `ECProperty` can be changed by reordering the `ecProperties` array. Reading of the `ecProperties` array stops when a valid value is found. For example, if the `ecProperties` array contains 2 entries and the first entry results in a null or undefined value, it will take the second entry. The value can be undefined if the given ECProperty does not exist. The result column will be filled with a null value if no valid value was found. Evaluating `ecProperties` is prioritized by: 1. Queried properties 2. Element properties 3. Element aspect properties Having queried properties as the highest priority allows for constant or complex values to be added to a mapping. `ECProperty` lookup is defined by 3 values - `ECSchemaName`, `ECClassName`, and `ECPropertyName`. `ECSchemaName` and `ECClassName` are used together to create a ECClassId which is the ECClassId of the current row when selecting a property. Class inheritance is _not_ checked. If the ECClassId of a selected row does not match the `ECSchemaName` and `ECClassName` pair, the value for this `ECProperty` is considered undefined. If the formed ECClassId is of an element aspect, the current selected row is an element and there is only 1 instance of that element aspect related to the element, the property lookup is done on the element aspect. `ECSchemaName` and `ECClassName` are case-insensitive. `ECSchemaName` and `ECClassName` can be set to a wildcard value `*`. - If the value of `ECSchemaName` is `*` and the value of `ECClassName` is `Beam`, then it will match any `Beam` class from any schema (e.g. `Building.Beam`, `Structural.Beam`, etc.) - If the value of `ECSchemaName` is `Building` and the value of `ECClassName` is `*`, then it will match any class from the schema `Building` (e.g. `Building.Beam`, `Building.CurtainWall`, etc.) - If values of `ECSchemaName` and `ECClassName` are `*`, then it will match any ECClassId (e.g. `Building.Beam`, `Structural.Column`, etc.) - If either value of `ECSchemaName` or `ECClassName` are `*`, then no element aspect lookup is done Set `ECPropertyName` to a property name that you want to select. The value of `ECPropertyName` can also be a path defining how to find a property. The path segments must be separated by a period (`.`). The path can contain the names of: - A navigation property - A struct property - A string property that happens to contain a string representation of a json object - A property inside the selected json Names of properties are not case sensitive. If json object does not have duplicate property names which only differ in letter casing, then those json properties are not case sensitive. We recommend treating json properties as case sensitive. - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category` or `category`, then the whole value `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` will be selected - If `Category` property is a navigation property with a value of `{\\\"id\\\":\\\"0x2000000000b\\\",\\\"relClassName\\\":\\\"BisCore.GeometricElement3dIsInCategory\\\"}` and the `ECPropertyName` is set to `Category.id`, then only the `id` value `0x2000000000b` will be selected - If `Category` property is a navigation property and it points to a row that has a property `CodeValue` that we want to select, the `ECPropertyName` should be set to `Category.CodeValue` - If `Model` property is a navigation property and it points to a row that has a property `JsonProperties` with a value `{\\\"formatter\\\":{\\\"mastUnit\\\":{\\\"label\\\":\\\"m\\\"}}}` and we want to select the master unit label, the `ECPropertyName` should be set to `Model.JsonProperties.formatter.mastUnit.label`. The result will be `m` ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update GroupProperty\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId The Mapping Id.\n * @param {string} groupId The Group Id.\n * @param {string} propertyId Id of the GroupProperty to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {GroupPropertyUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public updateGroupproperty(\n imodelId: string,\n mappingId: string,\n groupId: string,\n propertyId: string,\n Authorization: string,\n body?: GroupPropertyUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).updateGroupproperty(\n imodelId,\n mappingId,\n groupId,\n propertyId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a Mapping for an iModel. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_write` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Mapping\n * @param {string} imodelId The iModel Id.\n * @param {string} mappingId Id of the Mapping to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {MappingUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof MappingsApi\n */\n public updateMapping(\n imodelId: string,\n mappingId: string,\n Authorization: string,\n body?: MappingUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return MappingsApiFp(this.configuration).updateMapping(\n imodelId,\n mappingId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n}\n/**\n * ReportsApi - fetch parameter creator\n * @export\n */\nexport const ReportsApiFetchParamCreator = function (\n configuration?: Configuration,\n) {\n return {\n /**\n * --- Creates a Report within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReport(\n Authorization: string,\n body?: ReportCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createReport.',\n );\n }\n const localVarPath = `/reports/`;\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'ReportCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Creates a Report Mapping. Each one links a Mapping to a Report and each Report can have more than one Report Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read`, `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportMappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReportMapping(\n reportId: string,\n Authorization: string,\n body?: ReportMappingCreateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling createReportMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling createReportMapping.',\n );\n }\n const localVarPath =\n `/reports/{reportId}/datasources/imodelMappings`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'POST' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'ReportMappingCreateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Marks a Report for deletetion. Reports are permanently deleted one month after being marked for deletion. A Report marked for deletion can be restored if it hasn't been permanently deleted yet. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report\n * @param {string} reportId Id of the Report to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling deleteReport.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteReport.',\n );\n }\n const localVarPath = `/reports/{reportId}`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Deletes a Report Mapping from a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} mappingId Id of the Report Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReportMapping(\n reportId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling deleteReportMapping.',\n );\n }\n // verify required parameter 'mappingId' is not null or undefined\n if (mappingId === null || mappingId === undefined) {\n throw new RequiredError(\n 'mappingId',\n 'Required parameter mappingId was null or undefined when calling deleteReportMapping.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling deleteReportMapping.',\n );\n }\n const localVarPath =\n `/reports/{reportId}/datasources/imodelMappings/{mappingId}`\n .replace(`{${'reportId'}}`, encodeURIComponent(String(reportId)))\n .replace(`{${'mappingId'}}`, encodeURIComponent(String(mappingId)));\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'DELETE' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all Reports within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Project Reports\n * @param {string} projectId The Project Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {boolean} [deleted] Optionally filter Reports by those marked for deletion. NOTE: Reports marked for deletion will be permanently deleted after 1 month unless deletion is reverted.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProjectReports(\n projectId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n deleted?: boolean,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'projectId' is not null or undefined\n if (projectId === null || projectId === undefined) {\n throw new RequiredError(\n 'projectId',\n 'Required parameter projectId was null or undefined when calling getProjectReports.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getProjectReports.',\n );\n }\n const localVarPath = `/reports`;\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (projectId !== undefined) {\n localVarQueryParameter['projectId'] = projectId;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (deleted !== undefined) {\n localVarQueryParameter['deleted'] = deleted;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets a single Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling getReport.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getReport.',\n );\n }\n const localVarPath = `/reports/{reportId}`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Gets all Report Mappings for a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report Mappings\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReportMappings(\n reportId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling getReportMappings.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling getReportMappings.',\n );\n }\n const localVarPath =\n `/reports/{reportId}/datasources/imodelMappings`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign({ method: 'GET' }, options);\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (top !== undefined) {\n localVarQueryParameter['$top'] = top;\n }\n\n if (continuationToken !== undefined) {\n localVarQueryParameter['$continuationToken'] = continuationToken;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * --- Updates a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Report\n * @param {string} reportId Id of the Report to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateReport(\n reportId: string,\n Authorization: string,\n body?: ReportUpdateReportingAPI,\n Accept?: string,\n options: any = {},\n ): FetchArgs {\n // verify required parameter 'reportId' is not null or undefined\n if (reportId === null || reportId === undefined) {\n throw new RequiredError(\n 'reportId',\n 'Required parameter reportId was null or undefined when calling updateReport.',\n );\n }\n // verify required parameter 'Authorization' is not null or undefined\n if (Authorization === null || Authorization === undefined) {\n throw new RequiredError(\n 'Authorization',\n 'Required parameter Authorization was null or undefined when calling updateReport.',\n );\n }\n const localVarPath = `/reports/{reportId}`.replace(\n `{${'reportId'}}`,\n encodeURIComponent(String(reportId)),\n );\n const localVarUrlObj = url.parse(localVarPath, true);\n const localVarRequestOptions = Object.assign(\n { method: 'PATCH' },\n options,\n );\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication apiKeyHeader required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('X-Api-Subscription-Key')\n : configuration.apiKey;\n localVarHeaderParameter['X-Api-Subscription-Key'] = localVarApiKeyValue;\n }\n\n // authentication apiKeyQuery required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue =\n typeof configuration.apiKey === 'function'\n ? configuration.apiKey('subscription-key')\n : configuration.apiKey;\n localVarQueryParameter['subscription-key'] = localVarApiKeyValue;\n }\n\n // authentication oauth2Bentley OAuth2 Service required\n // oauth required\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue =\n typeof configuration.accessToken === 'function'\n ? configuration.accessToken('oauth2Bentley OAuth2 Service', [\n 'insights:read insights:modify',\n ])\n : configuration.accessToken;\n localVarHeaderParameter['Authorization'] =\n 'Bearer ' + localVarAccessTokenValue;\n }\n\n if (Authorization !== undefined && Authorization !== null) {\n localVarHeaderParameter['Authorization'] = String(Authorization);\n }\n\n if (Accept !== undefined && Accept !== null) {\n localVarHeaderParameter['Accept'] = String(Accept);\n }\n\n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = Object.assign(\n {},\n localVarUrlObj.query,\n localVarQueryParameter,\n options.query,\n );\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n localVarRequestOptions.headers = Object.assign(\n {},\n localVarHeaderParameter,\n options.headers,\n );\n const needsSerialization =\n <any>'ReportUpdateReportingAPI' !== 'string' ||\n localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.body = needsSerialization\n ? JSON.stringify(body || {})\n : body || '';\n\n return {\n url: url.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n };\n};\n\n/**\n * ReportsApi - functional programming interface\n * @export\n */\nexport const ReportsApiFp = function (configuration?: Configuration) {\n return {\n /**\n * --- Creates a Report within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReport(\n Authorization: string,\n body?: ReportCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportSingleReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).createReport(Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Creates a Report Mapping. Each one links a Mapping to a Report and each Report can have more than one Report Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read`, `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportMappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReportMapping(\n reportId: string,\n Authorization: string,\n body?: ReportMappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportMappingSingleReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).createReportMapping(reportId, Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Marks a Report for deletetion. Reports are permanently deleted one month after being marked for deletion. A Report marked for deletion can be restored if it hasn't been permanently deleted yet. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report\n * @param {string} reportId Id of the Report to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).deleteReport(reportId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Deletes a Report Mapping from a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} mappingId Id of the Report Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReportMapping(\n reportId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (fetch?: FetchAPI, basePath?: string) => Promise<Response> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).deleteReportMapping(\n reportId,\n mappingId,\n Authorization,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response;\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all Reports within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Project Reports\n * @param {string} projectId The Project Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {boolean} [deleted] Optionally filter Reports by those marked for deletion. NOTE: Reports marked for deletion will be permanently deleted after 1 month unless deletion is reverted.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProjectReports(\n projectId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n deleted?: boolean,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportCollectionReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).getProjectReports(\n projectId,\n Authorization,\n top,\n continuationToken,\n deleted,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets a single Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportSingleReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).getReport(reportId, Authorization, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Gets all Report Mappings for a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report Mappings\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReportMappings(\n reportId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportMappingCollectionReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).getReportMappings(\n reportId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n );\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n /**\n * --- Updates a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Report\n * @param {string} reportId Id of the Report to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateReport(\n reportId: string,\n Authorization: string,\n body?: ReportUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ): (\n fetch?: FetchAPI,\n basePath?: string,\n ) => Promise<ReportSingleReportingAPI> {\n const localVarFetchArgs = ReportsApiFetchParamCreator(\n configuration,\n ).updateReport(reportId, Authorization, body, Accept, options);\n return (\n fetch: FetchAPI = isomorphicFetch,\n basePath: string = BASE_PATH,\n ) => {\n return fetch(\n basePath + localVarFetchArgs.url,\n localVarFetchArgs.options,\n ).then((response) => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw response;\n }\n });\n };\n },\n };\n};\n\n/**\n * ReportsApi - factory interface\n * @export\n */\nexport const ReportsApiFactory = function (\n configuration?: Configuration,\n fetch?: FetchAPI,\n basePath?: string,\n) {\n return {\n /**\n * --- Creates a Report within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReport(\n Authorization: string,\n body?: ReportCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).createReport(\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Creates a Report Mapping. Each one links a Mapping to a Report and each Report can have more than one Report Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read`, `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportMappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createReportMapping(\n reportId: string,\n Authorization: string,\n body?: ReportMappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).createReportMapping(\n reportId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Marks a Report for deletetion. Reports are permanently deleted one month after being marked for deletion. A Report marked for deletion can be restored if it hasn't been permanently deleted yet. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report\n * @param {string} reportId Id of the Report to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).deleteReport(\n reportId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Deletes a Report Mapping from a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} mappingId Id of the Report Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteReportMapping(\n reportId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).deleteReportMapping(\n reportId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all Reports within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Project Reports\n * @param {string} projectId The Project Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {boolean} [deleted] Optionally filter Reports by those marked for deletion. NOTE: Reports marked for deletion will be permanently deleted after 1 month unless deletion is reverted.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProjectReports(\n projectId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n deleted?: boolean,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).getProjectReports(\n projectId,\n Authorization,\n top,\n continuationToken,\n deleted,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets a single Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).getReport(\n reportId,\n Authorization,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Gets all Report Mappings for a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report Mappings\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getReportMappings(\n reportId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).getReportMappings(\n reportId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(fetch, basePath);\n },\n /**\n * --- Updates a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Report\n * @param {string} reportId Id of the Report to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateReport(\n reportId: string,\n Authorization: string,\n body?: ReportUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(configuration).updateReport(\n reportId,\n Authorization,\n body,\n Accept,\n options,\n )(fetch, basePath);\n },\n };\n};\n\n/**\n * ReportsApi - object-oriented interface\n * @export\n * @class ReportsApi\n * @extends {BaseAPI}\n */\nexport class ReportsApi extends BaseAPI {\n /**\n * --- Creates a Report within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public createReport(\n Authorization: string,\n body?: ReportCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).createReport(\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Creates a Report Mapping. Each one links a Mapping to a Report and each Report can have more than one Report Mapping. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `imodels_read`, `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Create Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportMappingCreateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public createReportMapping(\n reportId: string,\n Authorization: string,\n body?: ReportMappingCreateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).createReportMapping(\n reportId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Marks a Report for deletetion. Reports are permanently deleted one month after being marked for deletion. A Report marked for deletion can be restored if it hasn't been permanently deleted yet. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report\n * @param {string} reportId Id of the Report to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public deleteReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).deleteReport(\n reportId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Deletes a Report Mapping from a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Delete Report Mapping\n * @param {string} reportId The Report Id.\n * @param {string} mappingId Id of the Report Mapping to be deleted.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public deleteReportMapping(\n reportId: string,\n mappingId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).deleteReportMapping(\n reportId,\n mappingId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all Reports within the context of a Project. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Project Reports\n * @param {string} projectId The Project Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {boolean} [deleted] Optionally filter Reports by those marked for deletion. NOTE: Reports marked for deletion will be permanently deleted after 1 month unless deletion is reverted.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public getProjectReports(\n projectId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n deleted?: boolean,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).getProjectReports(\n projectId,\n Authorization,\n top,\n continuationToken,\n deleted,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets a single Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public getReport(\n reportId: string,\n Authorization: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).getReport(\n reportId,\n Authorization,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Gets all Report Mappings for a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:read`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_view` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Get Report Mappings\n * @param {string} reportId The Report Id.\n * @param {string} Authorization OAuth access token with scope `insights:read`\n * @param {number} [top] Optional max items to be sent in response.\n * @param {string} [continuationToken] Optional token to retrieve next page in paginated response.\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public getReportMappings(\n reportId: string,\n Authorization: string,\n top?: number,\n continuationToken?: string,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).getReportMappings(\n reportId,\n Authorization,\n top,\n continuationToken,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n\n /**\n * --- Updates a Report. ### Authentication Requires `Authorization` header with valid Bearer token for scope `insights:modify`. For more documentation on authorization and how to get access token visit [OAUTH2 Authorization](https://developer.bentley.com/apis/overview/authorization/) page. ### Authorization User must have `insights_modify` permission(s) assigned at the Project level. iModel specific permissions may also be applied at the iModel level if iModel level permissions are enabled. Alternatively the user should be an Organization Administrator for the Organization that owns a given Project or iModel. An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities [Licensing, Cloud, and Web Services](https://communities.bentley.com/communities/other_communities/licensing_cloud_and_web_services/w/wiki/50711/user-management-2-0) wiki page. ### Rate limits All iTwin Platform API operations have a rate limit. For more documentation on that visit [Rate limits and quotas](https://developer.bentley.com/apis/overview/rate-limits/) page. ---\n * @summary Update Report\n * @param {string} reportId Id of the Report to be updated.\n * @param {string} Authorization OAuth access token with scope `insights:modify`\n * @param {ReportUpdateReportingAPI} [body]\n * @param {string} [Accept] Setting to `application/vnd.bentley.itwin-platform.v1+json` is recommended.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReportsApi\n */\n public updateReport(\n reportId: string,\n Authorization: string,\n body?: ReportUpdateReportingAPI,\n Accept?: string,\n options?: any,\n ) {\n return ReportsApiFp(this.configuration).updateReport(\n reportId,\n Authorization,\n body,\n Accept,\n options,\n )(this.fetch, this.basePath);\n }\n}\n"]}
|