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