Skip to content

Aas Repository

Kevalkumar edited this page Jan 23, 2026 · 1 revision

Purpose

The AAS Repository API provides access to complete Asset Administration Shells and their asset information. It ties together:

  • Shell metadata (from registry / templates).
  • Submodel references / descriptors.
  • Populated submodel data fetched via the Submodel Repository and Plugin.

Main Endpoints

Get Shell

  • Method: GET
  • Route: /shells/{aasIdentifier}
  • Route parameters:
    • aasIdentifier (string, required) – Identifier of the target Asset Administration Shell.
  • Request body: None
  • Responses:
    • 200 OK – Returns the full AssetAdministrationShell object, including references to submodels.
                      {
                       "id": "https://example.com/ids/aas/1170_1160_3052_6568/test/aas",
                       "assetInformation": {
                         "assetKind": "Type",
                         "globalAssetId": "https://example.com/ids/F/5350_5407_2522_6562",
                         "specificAssetIds": [],
                         "defaultThumbnail": {
                           "path": "https://example.com/share/img/10080308_DE.jpg",
                           "contentType": "image/svg\u002Bxml"
                         }
                       },
                       "submodels": [
                         {
                           "type": "ModelReference",
                           "keys": [
                             {
                               "type": "Submodel",
                               "value": "https://mm-software.com/submodel/1170_1160_3052_6568/Nameplate"
                             }
                           ]
                         },
                         {
                           "type": "ModelReference",
                           "keys": [
                             {
                               "type": "Submodel",
                               "value": "https://mm-software.com/submodel/1170_1160_3052_6568/ContactInformation"
                             }
                           ]
                         },
                         {
                           "type": "ModelReference",
                           "keys": [
                             {
                               "type": "Submodel",
                               "value": "https://mm-software.com/submodel/1170_1160_3052_6568/Reliability"
                             }
                           ]
                         }
                       ],
                       "modelType": "AssetAdministrationShell"
                     }

Get Asset Information

  • Method: GET
  • Route: /shells/{aasIdentifier}/asset-information
  • Route parameters:
    • aasIdentifier (string, required) – Identifier of the target Asset Administration Shell.
  • Request body: None
  • Responses:
    • 200 OK – Returns only the assetInformation section of the AAS.
                      {
                       "assetKind": "Type",
                       "globalAssetId": "https://example.com/ids/F/5350_5407_2522_6562",
                       "specificAssetIds": [],
                       "defaultThumbnail": {
                         "path": "https://example.com/share/img/10080308_DE.jpg",
                         "contentType": "image/svg\u002Bxml"
                       }
                     }

Template Requirements

  • Template shells must be defined in the template repository with:
    • Proper references to their template submodels.
    • Correct semantic IDs for cross-linking.
  • DataEngine then uses these to build a full runtime AAS by combining:
    • Populated submodels that were filled using Plugin data.

Shell Retrieval Flow

When a client (for example an AAS Viewer) calls GET /shells/{shellIdentifier}, DataEngine does not return a stored shell. Instead it constructs the shell on the fly based on configuration, templates and Plugin metadata:

  1. Extract Asset Reference
    DataEngine applies configured AasIdExtractionRules to the incoming shellIdentifier (pattern, separator, index) to derive an internal asset reference.

  2. Resolve Shell Template
    Using configured shell template mapping rules (for example a single "*" pattern mapping to one templateId), DataEngine resolves which shell template to use. That template lives in the AAS Template Repository and typically only contains submodel references (idShort + semanticId), not values.

  3. Fetch Template & Asset Metadata
    DataEngine:

  • Calls the Template Repository to fetch the shell template by templateId.
  • Calls the Plugin service (for example GET /metadata/assets/{shellIdentifier}) to retrieve assetInformation metadata for that shell.
  1. Assemble Shell
    DataEngine merges template + asset information into a complete AssetAdministrationShell JSON and returns it on /shells/{shellIdentifier}.

This allows you to define lightweight, reusable shell templates (with just submodel names/semanticIds) in the template repository, while all runtime-specific data (asset information and submodel contents) comes from the Plugin.

Template Repository Endpoints Used

DataEngine typically uses endpoints:

  • GET /shells/{templateAasId} – to get the template shell.
  • GET /shells/{templateAasId}/submodels – to discover attached template submodels.

These are configured via AasEnvironment in DataEngine.


Clone this wiki locally