Basic Operation Parameters General This clause specifies the parameters for API operations. SerializationModifiers in Operations Definition For GET operations, a SerializationModifier indicates the requester’s expected or desired response content. For PUT and PATCH operations, a SerializationModifier indicates the input content. The SerializationModifier comprises three orthogonal enumerations. When combined, these enumerations influence the input or response content of the requested operation. Note: values remain unchanged with content=metadata. Enumeration: Level The first enumeration Level indicates the depth of the structure of the response or input content. Table 1. Level Parameters Value Explanation Deep (Default) All elements of a requested hierarchy level and all children on all sublevels are returned. Children in this sense are SubmodelElements which are contained at the ‘submodelElements’ field of Submodels, the ‘value’ field of SubmodelElementCollections or SubmodelElementLists, the ‘statements’ field of Entities, or the ‘annotations’ field of AnnotatedRelationshipElements. Core Only elements of a requested hierarchy level as well as direct children are returned. By this, a client can iterate the hierarchy step by step. Note: level parameters are mapped to the query parameter “?level” in the HTTP/REST APIs, see also Modifier Constraints. Enumeration: Content The second enumeration Content indicates the kind of serialization of the response or input content. For Content equal to Value see Clause 0 for details. Table 2. Content Parameters Value Explanation Normal (Default) The standard serialization of the model element or child elements is applied. Metadata Only metadata of an element or child elements is returned; the value is not . Value Only the raw value of the model element or child elements is returned; it is commonly referred to as ValueOnly-serialization. Reference Only applicable to Referables. Only the reference to the found element is returned; potential child elements are ignored. Path Returns the idShort of the requested element and a list of idShort paths to child elements if the requested element is a Submodel, a SubmodelElementCollection, a SubmodelElementList, a AnnotatedRelationshipElement, or an Entity. Note: level parameters are mapped to path suffixes “/$<content>” in the HTTP/REST APIs, see also Modifier Constraints. Enumeration: Extent The third enumeration Extent indicates to which extent the response or input content is being serialized. At this stage, the listed values could also be represented as binary values on BLOB-elements. They are, however, kept as generic extent values for the sake of extension. Table 3. Extent Parameters Value Explanation WithoutBLOBValue (Default) Only applicable to BLOB-elements; the BLOB content is not returned. WithBLOBValue Only applicable to BLOB-elements; the BLOB content is returned as base64-encoded string. Note: level parameters are mapped to the query parameter “?extent” in the HTTP/REST APIs, see also Modifier Constraints. Applicability of SerializationModifiers The defined SerializationModifiers are only valid for specific operations due to their generic nature. Also, the applicability depends on the kind of the accessed resource. The following list defines the applicability of the modifiers to the resources. GET and PATCH operations may combine all SerializationModifiers as listed below. PUT operations may only use the Extent Modifier. POST operations do not use SerializationModifiers. Table 4. Applicability of SerializationModifiers Resource Name Level Modifier Content Modifier Extent Modifier Asset Administration Shell No Normal/ Reference No Submodel Reference No No No Submodel Deep/Core Normal/ Metadata/Value/Reference/Path WithoutBLOBValue/ WithBLOBValue SubmodelElements SubmodelElementCollection Deep/Core Normal/ Metadata/ Value/ Reference/Path WithoutBLOBValue/ WithBLOBValue SubmodelElementList Deep/Core Normal/ Metadata/ Value/ Reference/ Path WithoutBLOBValue/ WithBLOBValue Entity Deep/Core Normal/ Metadata/ Value/ Reference/ Path WithoutBLOBValue/ WithBLOBValue BasicEventElement No Normal/ Metadata/Value/Reference No Capability No Normal/Reference No Operation No Normal/Reference No DataElements Property No Normal/ Metadata/ Value/ Reference No MultiLanguageProperty No Normal/ Metadata/ Value/ Reference No Range No Normal/ Metadata/ Value/ Reference No ReferenceElement No Normal/ Metadata/ Value/ Reference No RelationshipElement No Normal/ Metadata/ Value/ Reference No AnnotatedRelationshipElement No Normal/ Metadata/ Value/ Reference No Blob No Normal/ Metadata/ Value/ Reference WithoutBLOBValue/ WithBLOBValue File No Normal/ Metadata/Value/Reference No Note: EventPayload defines the necessary information of an event instance sent out or received. It is, however not part of the AAS and submodel hierarchical structure.