Construction Kit
The Construction Kit defines the schema and structure of your data model. Unlike the Runtime Model which stores actual data instances, the Construction Kit contains the metadata that defines what types of entities can exist, their attributes, relationships, and constraints.
The GraphQL API provides read-only access to the Construction Kit, allowing you to introspect the model structure at runtime.
Overview
The Construction Kit consists of the following components:
| Component | Description | Documentation |
|---|---|---|
| Models | Containers that group related types, attributes, and enums | Models |
| Types | Entity definitions with attributes and associations | Types |
| Attributes | Reusable attribute definitions with value types | Attributes |
| Enums | Enumeration definitions with allowed values | Enums |
| Records | Composite value types (embedded structures) | Records |
| Association Roles | Relationship definitions between types | Association Roles |
Identifier Types
CkModelId
Identifies a model in the construction kit.
| Field | Type | Description |
|---|---|---|
name | String | The model name (e.g., Industry.Energy) |
version | Int | The model version number |
fullName | String | Combined name and version (e.g., Industry.Energy-1) |
semanticVersionedFullName | String | Full name with semantic version |
CkTypeId
Identifies a type in the construction kit.
| Field | Type | Description |
|---|---|---|
fullName | String | Full type identifier with versions (e.g., Industry.Energy-1.0.0/EnergyMeter-1) |
semanticVersionedFullName | String | Semantic name without versions (e.g., Industry.Energy/EnergyMeter) |
CkAttributeId
Identifies an attribute in the construction kit.
| Field | Type | Description |
|---|---|---|
fullName | String | Full attribute identifier with versions (e.g., Industry.Energy-1.0.0/Voltage-1) |
semanticVersionedFullName | String | Semantic name without versions (e.g., Industry.Energy/Voltage) |
CkEnumId
Identifies an enum in the construction kit.
| Field | Type | Description |
|---|---|---|
fullName | String | Full enum identifier with versions (e.g., Industry.Energy-1.0.0/EnergyMeterState-1) |
semanticVersionedFullName | String | Semantic name without versions (e.g., Industry.Energy/EnergyMeterState) |
CkRecordId
Identifies a record type in the construction kit.
| Field | Type | Description |
|---|---|---|
fullName | String | Full record identifier with versions (e.g., Basic-1.0.0/Contact-1) |
semanticVersionedFullName | String | Semantic name without versions (e.g., Basic/Contact) |
CkAssociationRoleId
Identifies an association role in the construction kit.
| Field | Type | Description |
|---|---|---|
fullName | String | Full role identifier with versions (e.g., System-1.0.3/Parent-1) |
semanticVersionedFullName | String | Semantic name without versions (e.g., System/Parent) |
Common Query Parameters
All Construction Kit queries support the following parameters:
| Parameter | Type | Description |
|---|---|---|
after | String | Cursor for pagination (retrieve items after this cursor) |
first | Int | Maximum number of items to return |
searchFilter | SearchFilter | Text search filter |
fieldFilter | [FieldFilter] | Attribute-based filters |
sortOrder | [Sort] | Sort configuration |
ckId | String | Filter by specific CK identifier |
ckModelIds | [String] | Filter by model(s) |
See Retrieve for detailed documentation on query parameters.
Attribute Value Types
The attributeValueType field indicates the data type of an attribute:
| Value | Description |
|---|---|
STRING | Text value |
INT32 | 32-bit integer |
INT64 | 64-bit integer |
FLOAT | Floating-point number |
DOUBLE | Double-precision floating-point number |
BOOLEAN | True/false value |
DATE_TIME | Date and time value |
BINARY | Binary data (Base64 encoded) |
OBJECT_ID | MongoDB ObjectId reference |
ENUM | Enumeration value (see linked ckEnum) |
RECORD | Embedded record (see linked ckRecord) |
GEO_JSON | Geospatial data in GeoJSON format |
Model State
Models can have the following states:
| Value | Description |
|---|---|
AVAILABLE | Model is active and can be used |
DEPRECATED | Model is marked for removal in future versions |
RETIRED | Model is no longer available |