Create and manage Asset Administration Shells

Bosch Semantic Stack Registry implements the IDTA Registry API Specificationexternallink 20.

For implementation-specific details (e.g., API paths), read the Asset Administration Shell Registry API documentationexternallink 20.

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 documentationexternallink 20.

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/externallink 20.

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>