Create and manage Asset Administration Shells
Bosch Semantic Stack Registry implements the IDTA Registry API Specification.
For implementation-specific details (e.g., API paths), read the Asset Administration Shell Registry API documentation.
Create Asset Administration Shells
To register a new Shell in the Digital Twin Registry successfully, it needs to have at least the id parameter in the body.
Learn more about the structure and requirements for the whole request in the Asset Administration Shell Registry API documentation.
The following example demonstrates how to register an Asset Administration Shell in the Digital Twin Registry through the Asset Administration Shell Registry API.
Example:
POST https://registry.bosch-semantic-stack.com/aas-api/v3/{tenantId}/shell-descriptors
Body:
{
"id": "1111-shell",
"idShort": "1111-short",
"description": [
{
"language": "en",
"text": "Example text"
}
],
"globalAssetId": "1111-global",
"displayName": [
{
"language": "en",
"text": "Example text"
}
],
"assetKind":"Instance",
"assetType": "A12B3-4C/5D/678",
"submodelDescriptors": [
{
"id": "5047a72e-e1bc-447c-9b34-f988e1b0354b",
"endpoints": [
{
"protocolInformation": {
"href": "https://localhost:1234",
"endpointProtocolVersion": [
"1.1"
],
"securityAttributes": [
{
"type": "NONE",
"key": "securityKey",
"value": "securityValue"
}
]
},
"interface": "AAS-1.0"
},
{
"protocolInformation": {
"href": "opc.tcp://localhost:4840",
"endpointProtocolVersion": [
"1.1"
],
"securityAttributes": [
{
"type": "NONE",
"key": "securityKey",
"value": "securityValue"
}
]
},
"interface": "AAS-1.0"
}
]
}
],
"specificAssetIds": [
{
"name": "vin1",
"value": "valueforvin1"
},
{
"name": "enginenumber1",
"value": "enginenumber1",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "1111111111"
}
]
}
}
]
}
Response: 201 created
ResponseBody: <omitted>
Retrieve Asset Administration Shells
To fetch a specific Asset Administration Shell, use the aas-api/v3/{tenantId}/shell-descriptors/<aasIdentifier> endpoint.
Note that the aasIdentifier needs to be base64-urlencoded — https://www.base64encode.org/.
For a Shell with the aasIdentifier 1111-shell, the request would look like this:
GET https://registry.bosch-semantic-stack.com/aas-api/v3/{tenantId}/shell-descriptors/MTExMS1zaGVsbA==
Body:<empty>
Response: 200 OK
ResponseBody: <omitted>