Updates a property. If group is a table, then property of that group is a column. Properties can be mapped from existing iModel ECProperties, calculated using a predefined list of calculations, or calculated using your own mathematical formula.
Source of the property value in the output is defined by the ecProperties, calculatedPropertyType, and formula values on a property. You can provide any combination of these properties. If you do not provided any of them, the output value will always be null. Such properties can be used as placeholders or to define an output schema before any property mapping is done. However, when you provide 2 or more of these properties they are evaluated in this order until a valid value (not null or undefined) is found:
- ecProperties
- calculatedPropertyType
- formula
Property values are assigned during data extraction. To start the data extraction use Run Extraction operation.
Mapping ECProperties
Mapping property values from an iModel ECProperties to the output columns is achieved by defining the ecProperties array. It allows mapping the queried, element, element aspect, or related element properties.
The ecProperties property is a prioritized array which contains ECPropertyReference objects. The closer the ECPropertyReference is to the array's start, the higher the priority. The priority of ECPropertyReference 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 two 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 ECPropertyReference references an ECProperty which does not exist. The result column will be filled with a null value if no valid value was found.
Evaluating ecProperties is prioritized by:
- Queried properties
- Element properties
- 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 three values - ecSchemaName, ecClassName, and ecPropertyName.
ecSchemaName and ecClassName are used together to create an ECClassId which is the ECClassId of the current row selected by the group query. 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 one instance of that element aspect related to the element, the property lookup is done on the element aspect.
Both ecSchemaName and ecClassName can be set to a wildcard value *.
- If the value of ecSchemaNameis*and the value ofecClassNameisBeam, then it will match anyBeamclass from any ECSchema (e.g.Building.Beam,Structural.Beam, etc.)
- If the value of ecSchemaNameisBuildingand the value ofecClassNameis*, then it will match any class from the ECSchemaBuilding(e.g.Building.Beam,Building.CurtainWall, etc.)
- If values of ecSchemaNameandecClassNameare*, then it will match any ECClassId (e.g.Building.Beam,Structural.Column, etc.)
- If either value of ecSchemaNameorecClassNameare*, then no element aspect lookup is done
Class inheritance is checked if there is no wildcard value.
- If the value of ecSchemaNameisBuildingand the value ofecClassNameisStructuralMember, then it will match any ECClassId which inheritsBuilding.StructuralMember(e.g.Building.Beamwhich inheritsBuilding.StructuralMember,Building.Columnwhich inheritsBuilding.StructuralMember, etc.)
- If ecSchemaNameorecClassNameis a wildcard, then inheritance will not be checked
Set ecPropertyName to a ECProperty name that you want to select. The value of ecPropertyName can also be a path defining how to find an ECProperty. 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 Categoryproperty is a navigation property with a value of{"id":"0x2000000000b","relClassName":"BisCore.GeometricElement3dIsInCategory"}and theecPropertyNameis set toCategoryorcategory, then the whole value{"id":"0x2000000000b","relClassName":"BisCore.GeometricElement3dIsInCategory"}will be selected
- If Categoryproperty is a navigation property with a value of{"id":"0x2000000000b","relClassName":"BisCore.GeometricElement3dIsInCategory"}and theecPropertyNameis set toCategory.id, then only the id value0x2000000000bwill be selected
- If Categoryproperty is a navigation property and it points to a row that has a propertyCodeValuethat we want to select, theecPropertyNameshould be set toCategory.CodeValue
- If Modelproperty is a navigation property and it points to a row that has a propertyJsonPropertieswith a value{"formatter":{"mastUnit":{"label":"m"}}}and we want to select the master unit label, theecPropertyNameshould be set toModel.JsonProperties.formatter.mastUnit.label. The result will bem
Calculation types
Property can be configured to calculate various element dimensions by setting the calculatedPropertyType value.
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- BoundingBoxcalculations 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.
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.
Custom calculations
Property can be configured to evaluate a custom mathematical formula that you provide by setting the formula property.
The formula supports using other group properties as variables. Recursive formulas are not supported, i.e., formula containing a variable X is not supported inside a property with a propertyName equal to X.
Supported data types:
- Double - describes a real number. When converted to a boolean value in logical operators 0becomesfalseand all other values becometrue
- Integer - describes an integer number. When converted to a boolean value in logical operators 0becomesfalseand all other values becometrue
- Boolean - describes a logical value which is either true or false. When converted to a number in certain operators truebecomes1andfalsebecomes0
- String - describes text. When converted to a boolean value in logical operators an empty string becomes falseand all other strings becometrue
All of the supported data types can have no value which means that the value is null. Some operations support null values but those which do not will return null as the result.
Supported operators:
-!***/%+-<<=>>===!=&&||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., 123or1.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 string literal formats:
- Single quotation marks, e.g., 'Column'
- Double quotation marks, e.g., "Column"
- Backticks, e.g., `Column`
Supported boolean formats:
- True, e.g., true
- False, e.g., false
Supported null format:
- Null, e.g., null
An escape character \ can be used to escape special characters in string literals. Supported escape sequences:
- \'- single quotation mark
- \"- double quotation mark
- \`- backtick
- \\- backslash
- \n- newline character
- \t- tab character
If an unsupported escape sequence is found, then the escape character is dropped, e.g., \d becomes d.
Supported numerical 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- ydivided 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 ** xor- pow(E, x), where- xis the argument, and- Eis 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- xand- 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- xto 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- xrounded to the nearest integer
- sign(x)- returns the sign of the- x, indicating whether- xis 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
Supported string functions:
- charat(str, index)- returns exactly one character at the specified index. Accepts negative integers, which count back from the last string character
- concat(str , ...strN)- combines the text of two (or more) strings and returns a new string
- padend(str, targetLength [, padString])- pads the given string from the end with a given string and returns a new string of the length- targetLength. Maximum value of- targetLengthis- 100. The resulting string will be truncated if it is too long to stay within- targetLength. The default value for- padStringis " " (white space)
- padstart(str, targetLength [, padString])- pads the given string from the start with a given string and returns a new string of the length- targetLength. Maximum value of- targetLengthis- 100. The resulting string will be truncated if it is too long to stay within- targetLength. The default value for- padStringis " " (white space)
- substring(str, beginIndex [, endIndex])- returns a new string containing characters of- strfrom (or between) the specified index (or indices)
- indexof(str, searchValue [, start])- returns the index of the first occurance in- strat which a given string- searchValuecan be found in the array, or -1 if it is not present.
- tolowercase(str)- returns the- strvalue converted to lowercase
- touppercase(str)- returns the- strvalue converted to uppercase
- trim(str)- trims whitespace from the beginning and end of- str
- trimstart(str)- trims whitespace from beginning of- str
- trimend(str)- trims whitespace from end of- str
Supported conditional functions:
- if(cond, expr_true, expr_false)- returns- expr_trueif- condis- trueelse it returns- expr_false.- expr_trueand- expr_falsemust be of the same type.- expr_trueand- expr_falsecan be- null
- ifnull(var, expr)- returns- exprif- varis- nullelse it returns- var.- varand- exprmust be of the same type.- varcan be- null
- ifnotnull(var, expr)- returns- exprif- varis not- nullelse it returns- var.- varand- exprmust be of the same type.- varcan be- null
- ifempty(str, expr)- returns- exprif- stris empty else it returns- str.- strand- exprmust be strings
- ifnotempty(str, expr)- returns- exprif- stris not empty else it returns- str.- strand- exprmust be strings
- ifnullorempty(str, expr)- returns- exprif- stris null or empty else it returns- str.- strand- exprmust be strings.- strcan be- null
- ifnotnullorempty(str, expr)- returns- exprif- stris not null and not empty else it returns- str.- strand- exprmust be strings.- strcan be- null
- ifnullorwhitespace(str, expr)- returns- exprif- stris null or empty or only consists of whitespace else it returns- str.- strand- exprmust be strings.- strcan be- null
- ifnotnullorwhitespace(str, expr)- returns- exprif- stris not null and not empty and not only consists of whitespace else it returns- str.- strand- exprmust be strings.- strcan be- null
Supported unit functions:
- getpersistenceunit(var)- returns persistence unit of the provided argument as a- String. Provided argument must be a GroupProperty that is mapped from an ECProperty and has data type set to- Double. Example value:- Units.M. More information about units can be found here
- getpresentationunits(var)- returns serialized json array of presentation units of the provided argument as a- String. Provided argument must be a GroupProperty that is mapped from an ECProperty and has data type set to- Double. Example value:- [\"Units.M\",\"Units.FT\"]. More information about units can be found here
Examples of supported formulas:
- min(A * B, B * C, A * C)- if- A,- B, and- Care 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- minand- maxoperands are treated as variables (other columns), not as functions. If the Group has columns- minand- max, and their values are- 2and- 5, then the result of this formula is- 10for 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)-- Amultiplied by the sum of- Band- C
- A * B + C- same as- (A * B) + C
- padend(concat(A, '\\', touppercase(substring(B, 4))), C, D)- the result of- concat, which concatenates variable- A, string literal- \and- uppercase- substringof variable- Bfrom index- 4, is padded in the end with the target length of- Cwith a pad string of variable- D
- charat(trim(A), B)- gets the character of a trimmed string variable- Athat is at index- B
- if(A > B, A, B)- if- Ais greater than- Bthen the result is- Aelse it is- B
- ifnullorempty(A, 'B = ') + B- if variable- Ais null or empty then the result of- ifnulloremptyfunction is the string literal- B =else it is variable- A. Then the final formula result is the addition of the result of- ifnulloremptyfunction and variable- B
- if(A != null && B != null, A + B, 0)- if- Ais not null and- Bis not null then the result is the addition of- Aand- Belse it is- 0
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 iTwin 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 iTwin 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 mapping Id.
The group Id.
The property Id.
Request headers
OAuth access token with itwin-platform scope
Setting to application/vnd.bentley.itwin-platform.v1+json is recommended.
Request body
Property (modify)
Name of the property (OData v4 SimpleIdentifier).
The data type of the property. One of 'Boolean', 'Double', 'Integer', or 'String'.
The quantity type of the property. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', or 'Volume'.
A prioritized list of ECProperty references for mapping values of ECProperties from an iModel to this group property. Entries closer to the start of the array have higher priority.
Type of the calculation. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
A mathematical formula which will be evaluated for each row returned by the group's query.
Example
{ "propertyName": "BeamVolume", "dataType": "Double", "quantityType": "Volume", "ecProperties": [{ "ecSchemaName": "*", "ecClassName": "*", "ecPropertyName": "Volume" }], "calculatedPropertyType": "Volume", "formula": "Length * CrossSectionArea" }
Response 200 OK
OK
{ "property": { "id": "1ba1f4dd-efc1-4bd1-86f0-a69a4f0d4743", "propertyName": "BeamVolume", "dataType": "Double", "quantityType": "Volume", "ecProperties": [{ "ecSchemaName": "*", "ecClassName": "*", "ecPropertyName": "Volume" }], "calculatedPropertyType": "Volume", "formula": "Length * CrossSectionArea", "_links": { "iModel": { "href": "https://api.bentley.com/imodels/70a3d6d3-5385-4bc3-87c4-b6bf106e1c0a" }, "mapping": { "href": "https://api.bentley.com/grouping-and-mapping/datasources/imodel-mappings/f1fe5959-35ab-467e-83b8-a679b722d80f" }, "group": { "href": "https://api.bentley.com/grouping-and-mapping/datasources/imodel-mappings/f1fe5959-35ab-467e-83b8-a679b722d80f/groups/08f252c4-ee78-4e2b-9280-f7365400b932" } } } }
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 403 Forbidden
User is not authorized to update a Property.
{ "error": { "code": "InsufficientPermissions", "message": "The user has insufficient permissions for the requested operation." } }
Response 404 Not Found
Specified resource was not found.
{ "error": { "code": "MappingNotFound", "message": "Requested Mapping is not available.", "target": "mappingId" } }
Response 409 Conflict
Property with the same name already exists within the group.
{ "error": { "code": "PropertyExists", "message": "Property 'BeamVolume' already exists.", "target": "propertyName" } }
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": "InvalidGroupingAndMappingRequest", "message": "Cannot update Property.", "details": [{ "code": "MissingRequiredProperty", "message": "Required property is missing.", "target": "propertyName" }] } }
Response 429 Too many requests
This response indicates that the client sent more requests than allowed by this API for the current tier of the client.
{ "error": { "code": "RateLimitExceeded", "message": "The client sent more requests than allowed by this API for the current tier of the client." } }
Response headers
Number of seconds to wait until client is allowed to make more requests.
Property
Properties of a group property configuration.
The property Id.
Name of the property (OData v4 SimpleIdentifier).
The data type of the property. One of 'Boolean', 'Double', 'Integer', or 'String'.
The quantity type of the property. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', or 'Volume'.
A prioritized list of ECProperty references for mapping values of ECProperties from an iModel to this group property. Entries closer to the start of the array have higher priority.
Type of the calculation. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
A mathematical formula which will be evaluated for each row returned by the group's query.
{ "title": "Property", "type": "object", "description": "Properties of a group property configuration.", "properties": { "id": { "type": "string", "description": "The property Id." }, "propertyName": { "type": "string", "description": "Name of the property (OData v4 SimpleIdentifier)." }, "dataType": { "type": "string", "description": "The data type of the property. One of 'Boolean', 'Double', 'Integer', or 'String'." }, "quantityType": { "type": "string", "description": "The quantity type of the property. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', or 'Volume'.", "nullable": true }, "ecProperties": { "type": "array", "description": "A prioritized list of ECProperty references for mapping values of ECProperties from an iModel to this group property. Entries closer to the start of the array have higher priority.", "items": { "$ref": "#/components/schemas/ECPropertyReference" }, "nullable": true }, "calculatedPropertyType": { "type": "string", "description": "Type of the calculation. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.", "nullable": true }, "formula": { "type": "string", "description": "A mathematical formula which will be evaluated for each row returned by the group's query.", "nullable": true }, "_links": { "$ref": "#/components/schemas/PropertyLinks", "description": "Contains contextual hyperlinks to related data." } }, "required": [ "id", "propertyName", "dataType", "_links" ], "additionalProperties": false }
Property (modify)
Properties of a group property configuration for update or create operations.
Name of the property (OData v4 SimpleIdentifier).
The data type of the property. One of 'Boolean', 'Double', 'Integer', or 'String'.
The quantity type of the property. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', or 'Volume'.
A prioritized list of ECProperty references for mapping values of ECProperties from an iModel to this group property. Entries closer to the start of the array have higher priority.
Type of the calculation. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.
A mathematical formula which will be evaluated for each row returned by the group's query.
{ "title": "Property (modify)", "type": "object", "description": "Properties of a group property configuration for update or create operations.", "properties": { "propertyName": { "type": "string", "description": "Name of the property (OData v4 SimpleIdentifier)." }, "dataType": { "type": "string", "description": "The data type of the property. One of 'Boolean', 'Double', 'Integer', or 'String'." }, "quantityType": { "type": "string", "description": "The quantity type of the property. One of 'Area', 'Distance', 'Force', 'Mass', 'Monetary', 'Time', or 'Volume'.", "nullable": true }, "ecProperties": { "type": "array", "description": "A prioritized list of ECProperty references for mapping values of ECProperties from an iModel to this group property. Entries closer to the start of the array have higher priority.", "items": { "$ref": "#/components/schemas/ECPropertyReference" }, "nullable": true }, "calculatedPropertyType": { "type": "string", "description": "Type of the calculation. One of 'Area', 'Length', 'Volume', 'BoundingBoxLongestEdgeLength', 'BoundingBoxIntermediateEdgeLength', 'BoundingBoxShortestEdgeLength', 'BoundingBoxDiagonalLength', 'BoundingBoxLongestFaceDiagonalLength', 'BoundingBoxIntermediateFaceDiagonalLength', 'BoundingBoxShortestFaceDiagonalLength'.", "nullable": true }, "formula": { "type": "string", "description": "A mathematical formula which will be evaluated for each row returned by the group's query.", "nullable": true } }, "required": [ "propertyName", "dataType" ], "additionalProperties": false }
ECProperty reference
Reference to an ECProperty in an iModel.
A case-insensitive name of the ECSchema where the referenced property exists. A wildcard * can be used to search for a property in any ECSchema.
A case insensitive name of the ECClass where the referenced property exists. A wildcard * can be used to search for a property in any ECClass.
The name of a referenced property or a path to the referenced property. Path is defined as a list of property names joined by a period (.). Names in the path can be ECProperty names or json property names in an ECProperty that contains a json value.
{ "title": "ECProperty reference", "type": "object", "description": "Reference to an ECProperty in an iModel.", "properties": { "ecSchemaName": { "type": "string", "description": "A case-insensitive name of the ECSchema where the referenced property exists. A wildcard `*` can be used to search for a property in any ECSchema." }, "ecClassName": { "type": "string", "description": "A case insensitive name of the ECClass where the referenced property exists. A wildcard `*` can be used to search for a property in any ECClass." }, "ecPropertyName": { "type": "string", "description": "The name of a referenced property or a path to the referenced property. Path is defined as a list of property names joined by a period (`.`). Names in the path can be ECProperty names or json property names in an ECProperty that contains a json value." } }, "required": [ "ecSchemaName", "ecClassName", "ecPropertyName" ], "additionalProperties": false }
Property Links
Hyperlinks to related data which complements this entity.
{ "title": "Property Links", "type": "object", "description": "Hyperlinks to related data which complements this entity.", "properties": { "iModel": { "$ref": "#/components/schemas/Link", "description": "Link to retrieve the related iModel." }, "mapping": { "$ref": "#/components/schemas/Link", "description": "Link to retrieve the related mapping." }, "group": { "$ref": "#/components/schemas/Link", "description": "Link to retrieve the related group." } }, "required": [ "iModel", "mapping", "group" ], "additionalProperties": false }
Property response
Container for a property object.
{ "title": "Property response", "type": "object", "description": "Container for a property object.", "properties": { "property": { "$ref": "#/components/schemas/Property", "description": "Property configuration." } }, "required": [ "property" ], "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." } }, "required": [ "href" ], "additionalProperties": false }
DetailedError
Contains error information and an array of more specific errors.
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 and an array of more specific errors.", "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 }, "details": { "type": "array", "description": "Optional array of more specific errors.", "items": { "$ref": "#/components/schemas/Error" } } }, "required": [ "code", "message", "details" ], "additionalProperties": true }
Detailed 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": "Detailed 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 Detailed information.", "$ref": "#/components/schemas/DetailedError" } }, "required": [ "error" ], "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?