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 itwin-platform
.
For more documentation on authorization and how to get access token visit OAUTH2 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 wiki page.
Rate limits
All iTwin Platform API operations have a rate limit. For more documentation on that visit Rate limits and quotas page.
"Try it out" Limitations
When you run an Extraction with the "Try it out" function on a Mapping that was created or modified by using the "Try it out" function, you are limited to 100 extracted rows for each group. Mapping modification is any POST/DELETE/PATCH/PUT request to any endpoint with the tag "Mappings" or if the URL contains {mappingId}.
Request parameters
The iModel Id.
The Mapping Id.
Id of the Group for which to create a new CalculatedProperty.
Request headers
OAuth access token with itwin-platform
scope
Setting to application/vnd.bentley.itwin-platform.v1+json
is recommended.
Request body
CalculatedProperty (create)
Name of the CalculatedProperty.
The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
Example
{ "propertyName": "CalculatedVolume", "type": "Volume" }
Response 200 OK
Created a new CalculatedProperty successfully.
{ "property": { "id": "1ba1f4dd-efc1-4bd1-86f0-a69a4f0d4743", "propertyName": "CustomVolume", "quantityType": "Volume", "type": "Volume", "_links": { "imodel": { "href": "https://api.bentley.com/imodels/70a3d6d3-5385-4bc3-87c4-b6bf106e1c0a" }, "mapping": { "href": "https://api.bentley.com/insights/reporting/datasources/imodels/70a3d6d3-5385-4bc3-87c4-b6bf106e1c0a/mappings/f1fe5959-35ab-467e-83b8-a679b722d80f" }, "group": { "href": "https://api.bentley.com/insights/reporting/datasources/imodels/70a3d6d3-5385-4bc3-87c4-b6bf106e1c0a/mappings/f1fe5959-35ab-467e-83b8-a679b722d80f/groups/1d9ae44a-2204-4bf6-8397-5c590e04ba3e" } } } }
Response 401 Unauthorized
This response indicates that request lacks valid authentication credentials. Access token might not been provided, issued by the wrong issuer, does not have required scopes or request headers were malformed.
{ "error": { "code": "HeaderNotFound", "message": "Header Authorization was not found in the request. Access denied." } }
Response 404 Not Found
Specified CalculatedProperty was not found.
{ "error": { "code": "CalculatedPropertyNotFound", "message": "Requested CalculatedProperty is not available.", "target": "groupId" } }
Response 409 Conflict
CalculatedProperty with the same name already exists within the Group.
{ "error": { "code": "CalculatedPropertyExists", "message": "CalculatedProperty with this 'propertyName' already exists." } }
Response 422 Unprocessable Entity
The 422 (Unprocessable Entity) status code indicates that the request cannot be processed by the server due to a client error (e.g. malformed request syntax).
{ "error": { "code": "InvalidInsightsRequest", "message": "Error message." } }
Response 429 Too many requests
This response indicates that the user has sent too many requests in a given amount of time.
{ "error": { "code": "TooManyRequests", "message": "More requests were received than the subscription rate-limit allows." } }
Response headers
The number of requests exceeds the rate-limit for the client subscription.
CalculatedProperty
Defines a CalculatedProperty or 'column' for a Group. It is calculated for each element returned by the Group's query.
The CalculatedProperty Id.
Name of the Property (OData v4 SimpleIdentifier).
The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
The quantity type of the CalculatedProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'.
{ "title": "CalculatedProperty", "type": "object", "description": "Defines a CalculatedProperty or 'column' for a Group. It is calculated for each element returned by the Group's query.", "properties": { "id": { "type": "string", "description": "The CalculatedProperty Id." }, "propertyName": { "type": "string", "description": "Name of the Property (OData v4 SimpleIdentifier)." }, "type": { "type": "string", "description": "The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'." }, "quantityType": { "type": "string", "description": "The quantity type of the CalculatedProperty. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', 'Volume, or 'Undefined'." }, "_links": { "type": "object", "properties": { "imodel": { "$ref": "#/components/schemas/Link", "description": "URL pointing to the related iModel." }, "mapping": { "$ref": "#/components/schemas/Link", "description": "URL pointing to the related Mapping." }, "group": { "$ref": "#/components/schemas/Link", "description": "URL pointing to the related Group." } } } }, "additionalProperties": false }
CalculatedProperty Response
Container for a CalculatedProperty object.
{ "title": "CalculatedProperty Response", "type": "object", "description": "Container for a CalculatedProperty object.", "properties": { "property": { "$ref": "#/components/schemas/CalculatedProperty", "description": "CalculatedProperty properties." } }, "additionalProperties": false }
CalculatedProperty (create)
Properties of the CalculatedProperty to be created.
Name of the CalculatedProperty.
The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
{ "title": "CalculatedProperty (create)", "type": "object", "description": "Properties of the CalculatedProperty to be created.", "properties": { "propertyName": { "type": "string", "description": "Name of the CalculatedProperty." }, "type": { "type": "string", "description": "The type of the CalculatedProperty. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'." } }, "required": [ "propertyName", "type" ], "additionalProperties": false }
Link
Hyperlink container.
Hyperlink to the specific entity.
{ "title": "Link", "type": "object", "description": "Hyperlink container.", "properties": { "href": { "type": "string", "description": "Hyperlink to the specific entity." } }, "additionalProperties": false }
Error
Contains error information.
One of a server-defined set of error codes.
A human-readable representation of the error.
The target of the error.
{ "type": "object", "description": "Contains error information.", "properties": { "code": { "type": "string", "description": "One of a server-defined set of error codes." }, "message": { "type": "string", "description": "A human-readable representation of the error." }, "target": { "type": "string", "description": "The target of the error.", "nullable": true } }, "required": [ "code", "message" ], "additionalProperties": true }
Error Response
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.
{ "type": "object", "title": "Error Response", "description": "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.", "properties": { "error": { "description": "Error information.", "$ref": "#/components/schemas/Error" } }, "required": [ "error" ], "additionalProperties": false }
Was this page helpful?