Skip to main content

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:

ComponentDescriptionDocumentation
ModelsContainers that group related types, attributes, and enumsModels
TypesEntity definitions with attributes and associationsTypes
AttributesReusable attribute definitions with value typesAttributes
EnumsEnumeration definitions with allowed valuesEnums
RecordsComposite value types (embedded structures)Records
Association RolesRelationship definitions between typesAssociation Roles

Identifier Types

CkModelId

Identifies a model in the construction kit.

FieldTypeDescription
nameStringThe model name (e.g., Industry.Energy)
versionIntThe model version number
fullNameStringCombined name and version (e.g., Industry.Energy-1)
semanticVersionedFullNameStringFull name with semantic version

CkTypeId

Identifies a type in the construction kit.

FieldTypeDescription
fullNameStringFull type identifier with versions (e.g., Industry.Energy-1.0.0/EnergyMeter-1)
semanticVersionedFullNameStringSemantic name without versions (e.g., Industry.Energy/EnergyMeter)

CkAttributeId

Identifies an attribute in the construction kit.

FieldTypeDescription
fullNameStringFull attribute identifier with versions (e.g., Industry.Energy-1.0.0/Voltage-1)
semanticVersionedFullNameStringSemantic name without versions (e.g., Industry.Energy/Voltage)

CkEnumId

Identifies an enum in the construction kit.

FieldTypeDescription
fullNameStringFull enum identifier with versions (e.g., Industry.Energy-1.0.0/EnergyMeterState-1)
semanticVersionedFullNameStringSemantic name without versions (e.g., Industry.Energy/EnergyMeterState)

CkRecordId

Identifies a record type in the construction kit.

FieldTypeDescription
fullNameStringFull record identifier with versions (e.g., Basic-1.0.0/Contact-1)
semanticVersionedFullNameStringSemantic name without versions (e.g., Basic/Contact)

CkAssociationRoleId

Identifies an association role in the construction kit.

FieldTypeDescription
fullNameStringFull role identifier with versions (e.g., System-1.0.3/Parent-1)
semanticVersionedFullNameStringSemantic name without versions (e.g., System/Parent)

Common Query Parameters

All Construction Kit queries support the following parameters:

ParameterTypeDescription
afterStringCursor for pagination (retrieve items after this cursor)
firstIntMaximum number of items to return
searchFilterSearchFilterText search filter
fieldFilter[FieldFilter]Attribute-based filters
sortOrder[Sort]Sort configuration
ckIdStringFilter 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:

ValueDescription
STRINGText value
INT3232-bit integer
INT6464-bit integer
FLOATFloating-point number
DOUBLEDouble-precision floating-point number
BOOLEANTrue/false value
DATE_TIMEDate and time value
BINARYBinary data (Base64 encoded)
OBJECT_IDMongoDB ObjectId reference
ENUMEnumeration value (see linked ckEnum)
RECORDEmbedded record (see linked ckRecord)
GEO_JSONGeospatial data in GeoJSON format

Model State

Models can have the following states:

ValueDescription
AVAILABLEModel is active and can be used
DEPRECATEDModel is marked for removal in future versions
RETIREDModel is no longer available