Name Description
Content A data structure that contains the Descriptor and a list of Item
Descriptor Data structure that describes content: fields, sorting, filtering, format, etc.
Field Describes a single content field.
Item A data structure that represents a single content record.
KeySet A class that holds multiple Key objects.
NestedContentField Describes a content field that contains Nested content.
PresentationError An error type thrown by Presentation APIs.
PresentationRpcInterface Interface used for communication between Presentation backend and frontend.
PropertiesField Describes a content field that's based on one or more similar
RegisteredRuleset A ruleset that is registered in a ruleset manager.
RulesetsFactory A factory class that can be used to create presentation rulesets targeted towards


Name Description
DEFAULT_KEYS_BATCH_SIZE Default (recommended) keyset batch size for cases when it needs to be sent


Name Description
ChildNodeSpecificationTypes Used for serializing array of ChildNodeSpecification
ContentFlags Flags that control content format.
ContentSpecificationTypes Used for serializing array of ContentSpecification
DefaultContentDisplayTypes Displayed content types.
FieldDescriptorType Types of different field descriptors.
GroupingSpecificationTypes Available types of GroupingSpecification.
InstanceLabelOverrideValueSpecificationType Types of possible InstanceLabelOverride label values.
PresentationCommonLoggerCategory Logger categories used by this package
PresentationStatus Status codes used by Presentation APIs.
PropertyEditorParameterTypes Used for serializing array of PropertyEditorParameters to JSON
PropertyGroupingValue Used in PropertyGroup to specify the type of value to use Deprecated
PropertyValueFormat Format of the property value.
QuerySpecificationTypes Used for serializing array of QuerySpecification to JSON.
RelatedPropertiesSpecialValues Special values that can be used in RelatedPropertiesSpecification.propertyNames
RelationshipDirection Defines direction of a relationship that should be followed
RelationshipMeaning Meaning of the relationship.
RuleTypes Used for serializing Rule objects to JSON.
SameLabelInstanceGroupApplicationStage Specifies hierarchy creation stages used to apply SameLabelInstanceGroup grouping.
SortDirection Data sorting direction
StandardNodeTypes Standard node types
VariableValueType Available value types of user-controllable variables
VariableValueTypes Possible variable value types

Global Functions

Name Description
getInstancesCount Get total number of instances included in the supplied key set.
isSingleElementPropertiesRequestOptions Checks if supplied request options are for single or multiple element properties. Beta


Name Description
ArrayTypeDescription Type description for array properties.
BaseFieldJSON Data structure for a Field serialized to JSON.
BaseNodeKey Data structure that describes a basic node key
BaseNodeKeyJSON Serialized BaseNodeKey JSON representation.
BaseTypeDescription Data structure for base content field type description.
BooleanRulesetVariable Data structure for representing boolean ruleset variables.
BooleanRulesetVariableJSON JSON representation of BooleanRulesetVariable.
CalculatedPropertiesSpecification This content modifier allows including additional calculated properties into the content.
CategoryDescription A data structure that describes a Field category.
CategoryDescriptionJSON Serialized CategoryDescription JSON representation.
CheckBoxRule CheckBox rules provide a way to create a checkbox for specific types of ECInstance's. Deprecated
ChildNodeRule Child node rules are used to define child nodes in a hierarchy.
ChildNodeSpecificationBase Base interface for all ChildNodeSpecification implementations.
ClassGroup Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy
ClassInfo Information about an ECClass
ClassInfoJSON A serialized version of ClassInfo
ClientDiagnostics Data structure with client diagnostics information. Beta
ClientDiagnosticsAttribute Data structure which contains client diagnostics options.
ClientDiagnosticsOptions Data structure for client diagnostics options. Beta
CompressedClassInfoJSON A serialized and compressed version of ClassInfo
ConditionContainer Container of a ConditionContainer.condition property. Deprecated
ContentDescriptorRequestOptions Request type for content descriptor requests.
ContentInstanceKeysRequestOptions Request type for content instance keys' requests. Beta
ContentInstancesOfSpecificClassesSpecification This specification creates content for all instances of specific ECClasses.
ContentJSON Serialized Content JSON representation.
ContentModifier Content modifiers are used to modify how instances of specified ECClasses are displayed in content which is
ContentModifiersList Contains various rule attributes that allow modifying returned content.
ContentRelatedInstancesSpecification Returns content for instances related to the selected (input) instances.
ContentRequestOptions Request type for content requests.
ContentRule Content rules are used to define content that is displayed for specific type of input.
ContentSourcesRequestOptions Request type for content sources requests. Beta
ContentSourcesRpcResult Data structure for content sources RPC response. Beta
ContentSpecificationBase Base interface for all ContentSpecification implementations.
CustomNodeSpecification Returns a static custom-defined node that's not based on an ECInstance.
CustomQueryInstanceNodesSpecification Returns nodes for instances returned by a provided ECSQL query.
CustomRendererSpecification This specification allows defining a custom renderer, which can be used to render properties or categories.
DefaultGroupingPropertiesContainer A container of default grouping properties.
DefaultPropertyCategoryOverride A rule that allows overriding the default property category.
DescriptorJSON Serialized Descriptor JSON representation.
DescriptorOverrides Descriptor overrides that can be used to customize content
DescriptorSource Descriptor properties
Diagnostics Data structure for diagnostics information. Beta
DiagnosticsLogMessage Data structure for diagnostics log message information. Beta
DiagnosticsOptions Data structure for diagnostics options. Beta
DiagnosticsScopeLogs Data structure for diagnostics scope information. Beta
DisabledSortingRule Rule to disable sorting for certain ECInstances in the hierarchy and/or content.
DisplayLabelRequestOptions Request type for label requests
DisplayLabelsRequestOptions Request type for labels requests
DisplayValueGroup A group of raw values and their common display value.
DisplayValueGroupJSON JSON representation of DisplayValueGroup.
DisplayValuesArray An array of display values
DisplayValuesArrayJSON JSON representation of DisplayValuesArray
DisplayValuesMap A map of display values
DisplayValuesMapJSON JSON representation of DisplayValuesMap
DistinctValuesRequestOptions Request type for distinct values' requests.
ECClassGroupingNodeKey Data structure that describes an ECClass grouping node key
ECClassGroupingNodeKeyJSON Serialized ECClassGroupingNodeKey JSON representation.
ECInstancesNodeKey Data structure that describes a node ECInstance node key
ECInstancesNodeKeyJSON Serialized ECInstancesNodeKey JSON representation.
ECPropertyGroupingNodeKey Data structure that describes an ECProperty grouping node key
ECPropertyGroupingNodeKeyJSON Serialized ECPropertyGroupingNodeKey JSON representation.
ECPropertyValueQuerySpecification The specification specifies the name of the parent node instance property whose value is the ECSQL
EditorDescription A data structure which describes property editor used
ElementProperties Data structure for storing element properties information in a simplified format. Beta
ElementPropertiesArrayPropertyItemBase Base type for all ElementPropertiesArrayPropertyItem types. Beta
ElementPropertiesCategoryItem Definition for a category. Beta
ElementPropertiesItemBase Base type for all ElementPropertiesItem types. Beta
ElementPropertiesPrimitiveArrayPropertyItem Definition for a primitives' array property value. Beta
ElementPropertiesPrimitivePropertyItem Definition for a primitive property value. Beta
ElementPropertiesPropertyItemBase Base type for all ElementPropertiesPropertyItem types. Beta
ElementPropertiesStructArrayPropertyItem Definition for a structs' array property value. Beta
ElementPropertiesStructPropertyItem Definition for an struct property value. Beta
EnumerationChoice A single choice in enumeration
EnumerationInfo Enumeration information
ExtendedDataRule Extended data rule is used to inject some arbitrary data into presentation data objects (nodes, content records).
FieldDescriptorBase Base for a field descriptor
FilterByInstancePathsHierarchyRequestOptions Request type of filtering hierarchies by given ECInstance paths.
FilterByTextHierarchyRequestOptions Request type of filtering hierarchies by given text.
GroupingNodeKey Data structure that describes a grouping node key
GroupingNodeKeyJSON Serialized GroupingNodeKey JSON representation.
GroupingRule Grouping rules provide advanced ways to group instances when creating hierarchies.
GroupingSpecificationBase Base interface for all GroupingSpecification implementations.
HierarchyCompareInfo Information about hierarchy modification / differences.
HierarchyCompareInfoJSON JSON representation of HierarchyCompareInfo.
HierarchyCompareOptions Data structure for comparing a hierarchy after ruleset or ruleset variable changes.
HierarchyRequestOptions Request type for hierarchy requests.
Id64RulesetVariable Data structure for representing ID ruleset variables.
Id64RulesetVariableJSON JSON representation of Id64RulesetVariable.
Id64sRulesetVariable Data structure for representing ID array ruleset variables.
Id64sRulesetVariableJSON JSON representation of Id64sRulesetVariable.
IdCategoryIdentifier Identifier of a category specified through PropertyCategorySpecification in this scope.
ImageIdOverride ImageId override rules allow setting an image ID to specific types of ECInstances. Deprecated
InstanceKey A key that uniquely identifies an instance in an iModel
InstanceKeyJSON A serialized version of InstanceKey
InstanceLabelOverride Instance label override rule provides a way to set instance label to one of its property values,
InstanceLabelOverrideBriefcaseIdSpecification Specification returns ECInstance's briefcase ID in base36 format.
InstanceLabelOverrideClassLabelSpecification Specification uses ECClass display label as the label content.
InstanceLabelOverrideClassNameSpecification Specification uses ECClass name as the label content.
InstanceLabelOverrideCompositeValueSpecification Specification allows creating a label value composited using multiple other specifications.
InstanceLabelOverrideLocalIdSpecification Specification returns ECInstance's local ID in base36 format.
InstanceLabelOverridePropertyValueSpecification Specification uses property value as the label content.
InstanceLabelOverrideRelatedInstanceLabelSpecification Specification uses label of another related instance as the label content.
InstanceLabelOverrideStringValueSpecification Specification uses the specified value as the label content.
InstanceLabelOverrideValueSpecificationBase Base interface for all InstanceLabelOverrideValueSpecification implementations.
InstanceNodesOfSpecificClassesSpecification Returns nodes for instances of specific ECClasses.
IntRulesetVariable Data structure for representing int ruleset variables.
IntRulesetVariableJSON JSON representation of IntRulesetVariable.
IntsRulesetVariable Data structure for representing int array ruleset variables.
IntsRulesetVariableJSON JSON representation of IntsRulesetVariable.
ItemJSON Serialized Item JSON representation.
KeySetJSON A data structure of serialized KeySet
KindOfQuantityInfo Kind of quantity information
LabelCompositeValue Data structure that describes raw composite label value.
LabelCompositeValueJSON JSON representation of LabelCompositeValue
LabelDefinition Data structure that describes label definition.
LabelDefinitionJSON JSON representation of LabelDefinition
LabelGroupingNodeKey Data structure that describes a display label grouping node key
LabelGroupingNodeKeyJSON Serialized LabelGroupingNodeKey JSON representation.
LabelOverride Label override rules provide advanced ways to override instance labels and descriptions in Deprecated
MultiElementPropertiesRequestOptions Request type for multiple elements properties requests. Beta
MultiSchemaClassesSpecification This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.
NamedFieldDescriptor Field descriptor that identifies a content field by its unique name.
NavigationPropertyInfo Navigation property information Beta
NavigationPropertyInfoJSON A serialized version of NavigationPropertyInfo Beta
NavigationRuleBase Base class for all NavigationRule implementations.
NestedContentFieldJSON Data structure for a NestedContentField serialized to JSON.
NestedContentValue Data structure that describes nested content value.
NestedContentValueJSON JSON representation of NestedContentValue
NoCategoryIdentifier Identifier for no category.
Node Data structure that describes a tree node.
NodeArtifactsRule Node artifacts rules are used to create and assign artifacts to specific nodes.
NodeDeletionInfo Information about node deletion.
NodeDeletionInfoJSON JSON representation of NodeDeletionInfo.
NodeInsertionInfo Information about node insertion.
NodeInsertionInfoJSON JSON representation of NodeInsertionInfo.
NodeJSON Serialized Node JSON representation.
NodePathElement Describes a single step in the nodes path.
NodePathElementJSON Serialized NodePathElement JSON representation.
NodePathFilteringData Data related to node hierarchy filtering
NodePathFilteringDataJSON Serialized NodePathFilteringData JSON representation.
NodeUpdateInfo Information about node update.
NodeUpdateInfoJSON JSON representation of NodeUpdateInfo.
PagedResponse A structure for paged responses
PageOptions Paging options
ParentCategoryIdentifier Identifier of the default parent category.
PresentationRpcResponseData Data structure for presentation RPC responses
PrimitiveTypeDescription Type description for primitive properties.
PropertiesFieldDescriptor Field descriptor that identifies a properties field using a list of
PropertiesFieldJSON Data structure for a PropertiesField serialized to JSON.
Property Data structure that describes a single ECProperty that's
PropertyAccessor Data structure that describes one step of property
PropertyCategorySpecification Content modifier for defining custom property categories.
PropertyEditorJsonParameters Arbitrary JSON parameters for custom property editors
PropertyEditorMultilineParameters Multiline parameters for property editors that support multiline display
PropertyEditorParametersBase Base interface for PropertyEditorParameters.
PropertyEditorRangeParameters Range parameters for property editors that support ranges
PropertyEditorSliderParameters Slider parameters for property editors that support slider display
PropertyEditorSpecification This specification allows assigning a custom property editor to specific properties.
PropertyGroup Property grouping allows grouping by a property of the instance by value or by given ranges of values.
PropertyInfo A structure that describes an ECProperty
PropertyInfoJSON A serialized version of PropertyInfo
PropertyJSON JSON representation of Property
PropertyOverrides A container structure for possible property overrides
PropertyRangeGroupSpecification Describes a grouping range.
PropertySortingRule Rule to configure sorting for certain ECInstances in the hierarchy and/or content.
PropertySpecification This specification allows overriding some attributes of specific ECProperty or define how it's displayed.
QuerySpecificationBase Base interface for all QuerySpecification implementations.
RelatedClassInfo A structure that describes a related class and the properties of that relationship.
RelatedClassInfoJSON A serialized version of RelatedClassInfo
RelatedInstanceNodesSpecification Produces ECInstance nodes that are related to some source ECInstance.
RelatedInstanceSpecification Related instance specification is used in content
RelatedPropertiesSpecification This specification allows including related instance properties into the content.
RelationshipStepSpecification Specification of a single step in RelationshipPathSpecification.
RendererDescription Describes property renderer used for a content Field.
RepeatableRelationshipStepSpecification Specification of a single step in RepeatableRelationshipPathSpecification.
RequestOptions A generic request options type used for both hierarchy and content requests.
RequestOptionsWithRuleset Options for requests that require presentation ruleset.
RequiredSchemaSpecification This specification is designed for specifying schema requirements for the Ruleset or specific Beta
RootCategoryIdentifier Identifier of the root category.
RootNodeRule Root node rules are used to define nodes that are displayed at the root hierarchy level.
RuleBase Base interface for all Rule implementations.
Ruleset Presentation ruleset is a list of rules that define tree hierarchy and content provided by
RulesetVariableBase Base data structure for representing ruleset variables.
RulesetVariableBaseJSON JSON representation of RulesetVariableBase.
SameLabelInstanceGroup Allows grouping multiple instances with the same label into one ECInstances type of node.
SchemasSpecification Specification for a list of ECSchemas
SelectClassInfo Data structure that describes an ECClass in content Descriptor.
SelectClassInfoJSON Serialized SelectClassInfo JSON representation
SelectedNodeInstancesSpecification Returns content for selected (input) instances.
SelectionInfo Data structure that contains selection information.
SelectionScope Data structure that describes a selection scope
SelectionScopeRequestOptions Request options used for selection scope related requests
SingleElementPropertiesRequestOptions Request type for single element properties requests. Beta
SingleSchemaClassSpecification This specification is used to point to specific ECClass.
SortingRuleBase Sorting rules provide a way to either disable sorting or sort instances by specific properties.
StringQuerySpecification The specification contains an ECSQL query which is used to query for instances.
StringRulesetVariable Data structure for representing string ruleset variables.
StringRulesetVariableJSON JSON representation of StringRulesetVariable.
StrippedRelatedClassInfo Data structure that contains a subset of RelatedClassInfo required to
StructFieldMemberDescription A data structure that describes a struct member.
StructTypeDescription Type description for struct properties.
StyleOverride Style override rules allow customizing display style of specific types of ECInstances. Deprecated
SubCondition This is a sub-rule which shares placement attributes and
SupplementationInfo Contains supplementation-related information for
ValuesArray An array of raw values
ValuesArrayJSON JSON representation of ValuesArray
ValuesDictionary A dictionary data structure.
ValuesMap A map of raw values
ValuesMapJSON JSON representation of ValuesMap
Variable Definition for single user-controllable variable
VariablesGroup Presentation rules support variables that allow having additional customization of the hierarchy


Name Description
DiagnosticsLogEntry Functions related to diagnostics log entry. Beta
NavigationPropertyInfo Beta

Type Aliases

Name Description
CategoryIdentifier Category identifier used to assign properties to a category.
ChildNodeSpecification Hierarchy rule specifications that define what nodes are going to be returned by the rule.
ClassId Type of an ECClass ID.
ContentDescriptorRpcRequestOptions Data structure for content descriptor RPC request options.
ContentInstanceKeysRpcRequestOptions Data structure for content instance keys' request options. Beta
ContentRpcRequestOptions Data structure for content RPC request options.
ContentSourcesRpcRequestOptions Data structure for content sources RPC request options. Beta
ContentSpecification Content rule specifications which define what content is returned
CustomizationRule Customization rules allow customizing each node or content item separately.
DiagnosticsLogEntry Data structure for diagnostics log entry. Beta
DiagnosticsLoggerSeverity Type of diagnostics logger severity. Beta
DisplayLabelRpcRequestOptions Data structure for label request options.
DisplayLabelsRpcRequestOptions Data structure for labels request options.
DisplayValue Display value type.
DisplayValueJSON JSON representation of DisplayValue
DistinctValuesRpcRequestOptions Data structure for distinct values' request options.
ElementPropertiesArrayPropertyItem Definition for an array property value. Beta
ElementPropertiesItem Definition of a property item, including a property category. Beta
ElementPropertiesPropertyItem Definition of a property value. Beta
ElementPropertiesPropertyValueType Available element property types. Beta
ElementPropertiesRequestOptions Request type for element properties requests Beta
FieldDescriptor A union of all possible field descriptor types
FieldJSON JSON representation of a Field
FilterByInstancePathsHierarchyRpcRequestOptions Data structure for filtering hierarchy by ECInstance paths request options.
FilterByTextHierarchyRpcRequestOptions Data structure for filtering hierarchy by text request options.
GroupingSpecification Grouping rule specifications.
HierarchyRpcRequestOptions Data structure for hierarchy request options.
InstanceId Type of an ECInstance ID.
InstanceLabelOverrideValueSpecification Specification to define how the label for InstanceLabelOverride should be created.
Key A single key that identifies something in an iTwin.js application
Keys A type for multiple keys that identify something in iModel.js application
LabelRawValue Type definition of label raw value.
LabelRawValueJSON JSON representation of LabelRawValue
NavigationRule Navigation rules are used to define hierarchies displayed in tree components.
NodeKey One of the node key types
NodeKeyJSON One of the serialized node key types
NodeKeyPath Node key path.
Omit Create a type with T properties excluding properties listed in K.
Paged A wrapper type that injects PageOptions into supplied type
PartialBy Create a type from given type T and make specified properties optional.
PartialHierarchyModification Information about a hierarchy change: insertion, deletion or node update.
PartialHierarchyModificationJSON JSON representation of PartialHierarchyModification.
PartialNode Partial node definition.
PartialNodeJSON Serialized PartialNode JSON representation.
PresentationRpcRequestOptions Base options for all presentation RPC requests.
PresentationRpcResponse A promise of PresentationRpcResponseData.
PrimitivePropertyValue Value of a primitive property.
Prioritized A wrapper type that injects priority into supplied type.
PropertyAccessorPath Describes path to a property.
PropertyEditorParameters Parameters for PropertyEditorSpecification
QuerySpecification Query specifications used in CustomQueryInstanceNodesSpecification.
RelatedClassInfoWithOptionalRelationship A structure that describes a relationship between source and target classes where
RelationshipPath A structure that describes a related class path.
RelationshipPathJSON Serialized RelationshipPath
RelationshipPathSpecification Relationship path specification is used to define a relationship path to an ECClass.
RepeatableRelationshipPathSpecification This specification declares a step in a relationship path between a source and target ECInstances.
RpcDiagnosticsOptions Data structure for RPC diagnostics options. Beta
Rule A union of all presentation rule types.
RulesetVariable Data structure for representing ruleset variables.
RulesetVariableJSON JSON representation of RulesetVariable.
SelectionScopeRpcRequestOptions Data structure for selection scope request options.
SingleElementPropertiesRpcRequestOptions Data structure for single element properties RPC request options. Beta
SortingRule Sorting rules provide a way to either disable sorting or sort instances by specific properties.
StrippedRelationshipPath Data structure that contains a subset of RelationshipPath required to
Subtract Create a type with T properties excluding all properties in type K.
TypeDescription One of content field type descriptions.
Value Raw value type
ValueJSON JSON representation of Value
VariableValue Union of all supported variable value types
VariableValueJSON JSON representation of VariableValue
WithCancelEvent A wrapper type that injects cancelEvent into supplied type.

Last Updated: 21 November, 2022