Find Asset Administration Shells

The process of retrieving asset data begins with finding the corresponding Asset Administration Shell.

Bosch Semantic Stack provides two IDTA-compliant approaches for this purpose. For most scenarios, we recommend using the AAS Registry API with the AAS Query operation.

Choose your approach:

  • Start at the Asset Administration Shell Registry API with the AAS Query operation (recommended) — for more flexibility, advanced filtering, and querying based on a standardized grammar.
    Learn more: AAS Registry API with the AAS Query operation

  • Start at the Asset Administration Shell Discovery API — for simple lookups based on Specific Asset IDs and the global Asset ID, or to add or modify Specific Asset IDs that may be used for AAS discovery of this Shell.
    Learn more: AAS Discovery API

AAS Registry API with the AAS Query operation

The Asset Administration Shell Registry by Bosch Semantic Stack provides the AAS Query operation as specified by IDTAexternallink 20. It enables fine-grained filtering and selection of Asset Administration Shells based on a standardized Query Grammar.

For implementation-specific details (e.g., API paths), refer to our Asset Administration Shell Registry API Documentationexternallink 20.

Limitations

As of now, only a subset of the IDTA query specification is implemented by the Bosch Semantic Stack Asset Administration Shell Registry API.

Fields

The following standard Asset Administration Shell fields are queryable:

  • $aasdesc#idShort

  • $aasdesc#id

  • $aasdesc#assetKind

  • $aasdesc#assetType

  • $aasdesc#globalAssetId

  • $aasdesc#specificAssetIds[].name

  • $aasdesc#specificAssetIds[].value

  • $aasdesc#submodelDescriptors[].semanticId

Custom fields

The following Bosch Semantic Stack custom, non-standard Asset Administration Shell fields are queryable:

  • $aasdesc#createdAt

  • $aasdesc#labels[]

  • $aasdesc#groups[].id

  • $aasdesc#groups[].name

Operations

  • Nested casts are not supported

  • Select filter only supports id as alias for $aasdesc#id. Omit the select filter to fetch the entire Asset Administration Shell.

  • Referencing list indexes explicitly (as described in Indexing of fieldsexternallink 20) is not supported. For example, $aasdesc#specificAssetIds[1].name is an unsupported reference.

Examples

Filter by idShort and only select Asset Administration Shell ID

{
  "$select": "id",
  "$condition": {
    "$eq": [
      {
        "$field": "$aasdesc#idShort"
      },
      {
        "$strVal": "idShortToQuery"
      }
    ]
  }
}

Filter by Specific Asset ID name and value

{
  "$condition": {
    "$and": [
      {
        "$eq": [
          {
            "$field": "$aasdesc#specificAssetIds[].name"
          },
          {
            "$strVal": "enginenumber"
          }
        ]
      },
      {
        "$starts-with": [
          {
            "$field": "$aasdesc#specificAssetIds[].value"
          },
          {
            "$strVal": "123-456"
          }
        ]
      }
    ]
  }
}

AAS Discovery API

Use the AAS Discovery API to find Shells by their Specific Asset IDs or the Global Asset ID.

The API returns Shell IDs that match all provided criteria.

Example:

POST https://registry.bosch-semantic-stack.com/aas-api/v3/{tenantId}/lookup/shellsByAssetLink
[
    {
        "name": "vin1",
        "value": "valueforvin1"
    }
]
Response: 200 OK
ResponseBody:
{
  "paging_metadata": {},
  "result": [
    "1111-shell"
  ]
}
You can also supply multiple Specific Asset IDs. Then, the Asset Administration Shell Registry will only return Shell IDs where all Specific Asset IDs are assigned.

Next steps:

With the retrieved Shell IDs, you can query the AAS Registry API for more information about the Shells. For example, you can retrieve their Shell Descriptors, which contain the asset endpoints needed to request the actual asset data.

find shells

Learn more about the structure and requirements for the requests: