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:
ecPropertiescalculatedPropertyTypeformula
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 useBoundingBoxcalculations 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 ofE(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 ofxacos(x)- returns the arccosine ofxacosh(x)- returns the hyperbolic arccosine ofxasin(x)- returns the arcsine ofxasinh(x)- returns the hyperbolic arcsine ofxatan(x)- returns the arctangent ofxatanh(x)- returns the hyperbolic arctangent ofxatan2(y, x)- returns the arctangent of the quotient ofydivided byxcbrt(x)- returns the cube root ofxceil(x)- returns the smallest integer greater than or equal toxclz32(x)- returns the number of leading zero bits of the 32-bit integerxcos(x)- returns the cosine ofxcosh(x)- returns the hyperbolic cosine ofxexp(x)- returnsE ** xorpow(E, x), wherexis the argument, andEis Euler's constant (2.718…, the base of the natural logarithm)expm1(x)- returns subtracting 1 fromexp(x)floor(x)- returns the largest integer less than or equal toxfround(x)- returns the nearest single precision float representation ofxhypot(x, y[, z[, …]])- returns the square root of the sum of squares of its argumentsimul(x, y)- returns the result of the 32-bit integer multiplication ofxandylog(x)- returns the natural logarithm ofxlog1p(x)- returns the natural logarithm of1 + xlog10(x)- returns the base-10 logarithm ofxlog2(x)- returns the base-2 logarithm ofxmax(x, y[, z[, …]])- returns the largest of 2 or more numbersmin(x, y[, z[, …]])- returns the smallest of 2 or more numberspow(x, y)- returns basexto the exponent powery(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 valueround(x)- returns the value of the numberxrounded to the nearest integersign(x)- returns the sign of thex, indicating whetherxis positive (1), negative (-1), or zero (0)sin(x)- returns the sine ofxsinh(x)- returns the hyperbolic sine ofxsqrt(x)- returns the positive square root ofxtan(x)- returns the tangent ofxtanh(x)- returns the hyperbolic tangent ofxtrunc(x)- returns the integer portion ofx, 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 characterconcat(str , ...strN)- combines the text of two (or more) strings and returns a new stringpadend(str, targetLength [, padString])- pads the given string from the end with a given string and returns a new string of the lengthtargetLength. Maximum value oftargetLengthis100. The resulting string will be truncated if it is too long to stay withintargetLength. The default value forpadStringis " " (white space)padstart(str, targetLength [, padString])- pads the given string from the start with a given string and returns a new string of the lengthtargetLength. Maximum value oftargetLengthis100. The resulting string will be truncated if it is too long to stay withintargetLength. The default value forpadStringis " " (white space)substring(str, beginIndex [, endIndex])- returns a new string containing characters ofstrfrom (or between) the specified index (or indices)indexof(str, searchValue [, start])- returns the index of the first occurance instrat which a given stringsearchValuecan be found in the array, or -1 if it is not present.tolowercase(str)- returns thestrvalue converted to lowercasetouppercase(str)- returns thestrvalue converted to uppercasetrim(str)- trims whitespace from the beginning and end ofstrtrimstart(str)- trims whitespace from beginning ofstrtrimend(str)- trims whitespace from end ofstr
Supported conditional functions:
if(cond, expr_true, expr_false)- returnsexpr_trueifcondistrueelse it returnsexpr_false.expr_trueandexpr_falsemust be of the same type.expr_trueandexpr_falsecan benullifnull(var, expr)- returnsexprifvarisnullelse it returnsvar.varandexprmust be of the same type.varcan benullifnotnull(var, expr)- returnsexprifvaris notnullelse it returnsvar.varandexprmust be of the same type.varcan benullifempty(str, expr)- returnsexprifstris empty else it returnsstr.strandexprmust be stringsifnotempty(str, expr)- returnsexprifstris not empty else it returnsstr.strandexprmust be stringsifnullorempty(str, expr)- returnsexprifstris null or empty else it returnsstr.strandexprmust be strings.strcan benullifnotnullorempty(str, expr)- returnsexprifstris not null and not empty else it returnsstr.strandexprmust be strings.strcan benullifnullorwhitespace(str, expr)- returnsexprifstris null or empty or only consists of whitespace else it returnsstr.strandexprmust be strings.strcan benullifnotnullorwhitespace(str, expr)- returnsexprifstris not null and not empty and not only consists of whitespace else it returnsstr.strandexprmust be strings.strcan benull
Supported unit functions:
getpersistenceunit(var)- returns persistence unit of the provided argument as aString. Provided argument must be a GroupProperty that is mapped from an ECProperty and has data type set toDouble. Example value:Units.M. More information about units can be found heregetpresentationunits(var)- returns serialized json array of presentation units of the provided argument as aString. Provided argument must be a GroupProperty that is mapped from an ECProperty and has data type set toDouble. 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)- ifA,B, andCare 3 different lengths of box edges, then this formula will result in the smallest side surface area of that boxmin * max- formula does not have parenthesis after function names, so theminandmaxoperands are treated as variables (other columns), not as functions. If the Group has columnsminandmax, and their values are2and5, then the result of this formula is10for that row2 ** 3- 2 raised to the power of 3. Result will be 8. This can also be written aspow(2, 3)min(cos(X), sin(X))- function nesting is supportedA * (B + C)-Amultiplied by the sum ofBandCA * B + C- same as(A * B) + Cpadend(concat(A, '\\', touppercase(substring(B, 4))), C, D)- the result ofconcat, which concatenates variableA, string literal\anduppercasesubstringof variableBfrom index4, is padded in the end with the target length ofCwith a pad string of variableDcharat(trim(A), B)- gets the character of a trimmed string variableAthat is at indexBif(A > B, A, B)- ifAis greater thanBthen the result isAelse it isBifnullorempty(A, 'B = ') + B- if variableAis null or empty then the result ofifnulloremptyfunction is the string literalB =else it is variableA. Then the final formula result is the addition of the result ofifnulloremptyfunction and variableBif(A != null && B != null, A + B, 0)- ifAis not null andBis not null then the result is the addition ofAandBelse it is0
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?