{
  "openapi": "3.0.3",
  "info": {
    "title": "Assetfox AAS API",
    "description": "AAS API according to AAS Specification Part 2 with endpoints that are currently supported by Assetfox.",
    "termsOfService": "https://github.com/admin-shell-io/aas-specs",
    "contact": null,
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    },
    "version": "V3.0.3_SSP-001",
    "x-profile-identifier": "https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001"
  },
  "servers": [
    {
      "url": "https://{domain}/api/aas",
      "variables": {
        "domain": {
          "description": "Domain of Assetfox environment.",
          "default": "REQUIRED"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "AASX File Server API",
      "x-displayName": "AASX File Server API"
    },
    {
      "name": "Asset Administration Shell Registry API",
      "x-displayName": "Asset Administration Shell Registry API"
    },
    {
      "name": "Asset Administration Shell Basic Discovery API",
      "x-displayName": "Asset Administration Shell Basic Discovery API"
    },
    {
      "name": "Asset Administration Shell Repository API",
      "x-displayName": "Asset Administration Shell Repository API"
    },
    {
      "name": "Asset Administration Shell Repository Files API",
      "x-displayName": "Asset Administration Shell Repository Files API"
    }
  ],
  "paths": {
    "/v3/packages": {
      "get": {
        "tags": [
          "AASX File Server API"
        ],
        "summary": "Returns a list of available AASX packages at the server",
        "operationId": "GetAllAASXPackageIds",
        "parameters": [
          {
            "name": "aasId",
            "in": "query",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements in the response array",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested package list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPackageDescriptionsResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllAASXPackageIds/3/0"
        ]
      },
      "post": {
        "tags": [
          "AASX File Server API"
        ],
        "summary": "Stores the AASX package at the server",
        "operationId": "PostAASXPackage",
        "requestBody": {
          "description": "AASX package",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/packages_body"
              },
              "encoding": {
                "file": {
                  "contentType": "application/asset-administration-shell-package",
                  "style": "form"
                }
              }
            }
          },
          "required": true
        },
        "parameters": [],
        "responses": {
          "201": {
            "description": "AASX package stored successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PackageDescription"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostAASXPackage/3/0"
        ]
      }
    },
    "/v3/packages/{packageId}": {
      "get": {
        "tags": [
          "AASX File Server API"
        ],
        "summary": "Returns a specific AASX package from the server",
        "operationId": "GetAASXByPackageId",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "description": "The package Id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested AASX package",
            "headers": {
              "X-FileName": {
                "description": "Filename of the package",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/asset-administration-shell-package": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAASXByPackageId/3/0"
        ]
      },
      "put": {
        "tags": [
          "AASX File Server API"
        ],
        "summary": "Updates the AASX package at the server",
        "operationId": "PutAASXByPackageId",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "description": "The package Id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "AASX package",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/packages_packageId_body"
              },
              "encoding": {
                "file": {
                  "contentType": "application/asset-administration-shell-package",
                  "style": "form"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "AASX package updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutAASXByPackageId/3/0"
        ]
      },
      "delete": {
        "tags": [
          "AASX File Server API"
        ],
        "summary": "Deletes a specific AASX package from the server",
        "operationId": "DeleteAASXByPackageId",
        "parameters": [
          {
            "name": "packageId",
            "in": "path",
            "description": "The package Id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteAASXByPackageId/3/0"
        ]
      }
    },
    "/v3/shell-descriptors": {
      "get": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Returns all Asset Administration Shell Descriptors",
        "operationId": "GetAllAssetAdministrationShellDescriptors",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements in the response array",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assetKind",
            "in": "query",
            "description": "The Asset's kind (Instance or Type)",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/AssetKind"
            }
          },
          {
            "name": "assetType",
            "in": "query",
            "description": "The Asset's type (UTF8-BASE64-URL-encoded)",
            "required": false,
            "schema": {
              "maxLength": 2000,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Administration Shell Descriptors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAssetAdministrationShellDescriptorsResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptors/3/0",
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetKind/3/0",
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetType/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Creates a new Asset Administration Shell Descriptor, i.e. registers an AAS",
        "operationId": "PostAssetAdministrationShellDescriptor",
        "requestBody": {
          "description": "Asset Administration Shell Descriptor object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Asset Administration Shell Descriptor created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostAssetAdministrationShellDescriptor/3/0"
        ]
      }
    },
    "/v3/shell-descriptors/{aasIdentifier}": {
      "get": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Returns a specific Asset Administration Shell Descriptor",
        "operationId": "GetAssetAdministrationShellDescriptorById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Administration Shell Descriptor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAssetAdministrationShellDescriptorById/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Updates an existing Asset Administration Shell Descriptor",
        "operationId": "PutAssetAdministrationShellDescriptorById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Asset Administration Shell Descriptor object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Asset Administration Shell Descriptor updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutAssetAdministrationShellDescriptorById/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Deletes an Asset Administration Shell Descriptor, i.e. de-registers an AAS",
        "operationId": "DeleteAssetAdministrationShellDescriptorById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Asset Administration Shell Descriptor deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteAssetAdministrationShellDescriptorById/3/0"
        ]
      }
    },
    "/v3/shell-descriptors/{aasIdentifier}/submodel-descriptors": {
      "get": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Returns all Submodel Descriptors",
        "operationId": "GetAllSubmodelDescriptorsThroughSuperpath",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements in the response array",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Submodel Descriptors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSubmodelDescriptorsResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Creates a new Submodel Descriptor, i.e. registers a submodel",
        "operationId": "PostSubmodelDescriptor-ThroughSuperpath",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Submodel Descriptor object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmodelDescriptor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Submodel Descriptor created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelDescriptor"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostSubmodelDescriptor/3/0"
        ]
      }
    },
    "/v3/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}": {
      "get": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Returns a specific Submodel Descriptor",
        "operationId": "GetSubmodelDescriptorByIdThroughSuperpath",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Submodel Descriptor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelDescriptor"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Updates an existing Submodel Descriptor",
        "operationId": "PutSubmodelDescriptorByIdThroughSuperpath",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Submodel Descriptor object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmodelDescriptor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Submodel Descriptor updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutSubmodelDescriptorById/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Registry API"
        ],
        "summary": "Deletes a Submodel Descriptor, i.e. de-registers a submodel",
        "operationId": "DeleteSubmodelDescriptorByIdThroughSuperpath",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Submodel Descriptor deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteSubmodelDescriptorById/3/0"
        ]
      }
    },
    "/v3/lookup/shells": {
      "get": {
        "tags": [
          "Asset Administration Shell Basic Discovery API"
        ],
        "summary": "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers",
        "operationId": "GetAllAssetAdministrationShellIdsByAssetLink",
        "parameters": [
          {
            "name": "assetIds",
            "in": "query",
            "description": "A list of specific Asset identifiers. Every single value asset identifier is a base64-url-encoded [SpecificAssetId](https://api.swaggerhub.com/domains/Plattform_i40/Part1-MetaModel-Schemas/V3.0.3#/components/schemas/SpecificAssetId).",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "example": "?assetIds=eyAibmFtZSI6ICJzb21lLWFzc2V0LWlkIiwgInZhbHVlIjogImh0dHA6Ly9leGFtcGxlLWNvbXBhbnkuY29tL215QXNzZXQiLCAiZXh0ZXJuYWxTdWJqZWN0SWQiOiB7ICJrZXlzIjogWyB7ICJ0eXBlIjogIkdsb2JhbFJlZmVyZW5jZSIsICJ2YWx1ZSI6ICJodHRwOi8vZXhhbXBsZS1jb21wYW55LmNvbS9leGFtcGxlLWNvbXBhbnlzLWFzc2V0LWtleXMiIH0gXSwgInR5cGUiOiAiRXh0ZXJuYWxSZWZlcmVuY2UiIH0gfQ&assetIds=eyAibmFtZSI6ICJzb21lLW90aGVyLWFzc2V0LWlkIiwgInZhbHVlIjogIjEyMzQ1QUJDIiwgImV4dGVybmFsU3ViamVjdElkIjogeyAia2V5cyI6IFsgeyAidHlwZSI6ICJHbG9iYWxSZWZlcmVuY2UiLCAidmFsdWUiOiAiaHR0cDovL215LW93bi1jb21wYW55LmNvbS9rZXlzIiB9IF0sICJ0eXBlIjogIkV4dGVybmFsUmVmZXJlbmNlIiB9IH0",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements in the response array",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Administration Shell ids",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LookupShellsResult"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellIdsByAssetLink/3/0"
        ]
      }
    },
    "/v3/lookup/shells/{aasIdentifier}": {
      "get": {
        "tags": [
          "Asset Administration Shell Basic Discovery API"
        ],
        "summary": "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content",
        "operationId": "GetAllAssetLinksById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested specific Asset identifiers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpecificAssetId"
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllAssetLinksById/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Basic Discovery API"
        ],
        "summary": "Creates specific Asset identifiers linked to an Asset Administration Shell to edit discoverable content",
        "operationId": "PostAllAssetLinksById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A list of specific Asset identifiers",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SpecificAssetId"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Specific Asset identifiers created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpecificAssetId"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostAllAssetLinksById/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Basic Discovery API"
        ],
        "summary": "Deletes all specific Asset identifiers linked to an Asset Administration Shell to edit discoverable content",
        "operationId": "DeleteAllAssetLinksById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Specific Asset identifiers deleted successfully"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteAllAssetLinksById/3/0"
        ]
      }
    },
    "/v3/shells": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns all Asset Administration Shells",
        "operationId": "GetAllAssetAdministrationShells",
        "parameters": [
          {
            "name": "assetIds",
            "in": "query",
            "description": "A list of specific Asset identifiers. Every single value asset identifier is a base64-url-encoded [SpecificAssetId](https://api.swaggerhub.com/domains/Plattform_i40/Part1-MetaModel-Schemas/V3.0.3#/components/schemas/SpecificAssetId).",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "example": "?assetIds=eyAibmFtZSI6ICJzb21lLWFzc2V0LWlkIiwgInZhbHVlIjogImh0dHA6Ly9leGFtcGxlLWNvbXBhbnkuY29tL215QXNzZXQiLCAiZXh0ZXJuYWxTdWJqZWN0SWQiOiB7ICJrZXlzIjogWyB7ICJ0eXBlIjogIkdsb2JhbFJlZmVyZW5jZSIsICJ2YWx1ZSI6ICJodHRwOi8vZXhhbXBsZS1jb21wYW55LmNvbS9leGFtcGxlLWNvbXBhbnlzLWFzc2V0LWtleXMiIH0gXSwgInR5cGUiOiAiRXh0ZXJuYWxSZWZlcmVuY2UiIH0gfQ&assetIds=eyAibmFtZSI6ICJzb21lLW90aGVyLWFzc2V0LWlkIiwgInZhbHVlIjogIjEyMzQ1QUJDIiwgImV4dGVybmFsU3ViamVjdElkIjogeyAia2V5cyI6IFsgeyAidHlwZSI6ICJHbG9iYWxSZWZlcmVuY2UiLCAidmFsdWUiOiAiaHR0cDovL215LW93bi1jb21wYW55LmNvbS9rZXlzIiB9IF0sICJ0eXBlIjogIkV4dGVybmFsUmVmZXJlbmNlIiB9IH0",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "idShort",
            "in": "query",
            "description": "The Asset Administration Shell���s IdShort",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of elements in the response array",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Administration Shells",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAssetAdministrationShellsResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShells/3/0",
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByAssetId/3/0",
          "https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByIdShort/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Creates a new Asset Administration Shell",
        "operationId": "PostAssetAdministrationShell",
        "requestBody": {
          "description": "Asset Administration Shell object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetAdministrationShell"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Asset Administration Shell created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetAdministrationShell"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostAssetAdministrationShell/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns a specific Asset Administration Shell",
        "operationId": "GetAssetAdministrationShellById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Administration Shell",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetAdministrationShell"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAssetAdministrationShellById/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Updates an existing Asset Administration Shell",
        "operationId": "PutAssetAdministrationShellById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Asset Administration Shell object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetAdministrationShell"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Asset Administration Shell updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutAssetAdministrationShellById/3/0"
        ],
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Deletes an Asset Administration Shell",
        "operationId": "DeleteAssetAdministrationShellById",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Asset Administration Shell deleted successfully"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "description": "Default error handling for unmentioned status codes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteAssetAdministrationShellById/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/asset-information": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns the Asset Information",
        "operationId": "GetAssetInformation_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Asset Information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetInformation"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAssetInformation/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Updates the Asset Information",
        "operationId": "PutAssetInformation_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Asset Information object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssetInformation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Asset Information updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutAssetInformation/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/asset-information/thumbnail": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "operationId": "GetThumbnail_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The thumbnail of the Asset Information.",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetThumbnail/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "operationId": "PutThumbnail_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Thumbnail to upload",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/assetinformation_thumbnail_body"
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream",
                  "style": "form"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Thumbnail updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutThumbnail/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "operationId": "DeleteThumbnail_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail deletion successful"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteThumbnail/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns the Submodel",
        "operationId": "GetSubmodelById_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Submodel",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submodel"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetSubmodel/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Updates the Submodel",
        "operationId": "PutSubmodelById_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Submodel object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Submodel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Submodel updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutSubmodel/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Deletes the submodel from the Asset Administration Shell and the Repository.",
        "operationId": "DeleteSubmodelById_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell's unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel's unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Submodel deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteSubmodelById/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodel-refs": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns all submodel references",
        "operationId": "GetAllSubmodelReferences_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested submodel references",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetReferencesResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllSubmodelReferences/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Creates a submodel reference at the Asset Administration Shell",
        "operationId": "PostSubmodelReference_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Reference to the Submodel",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Reference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Submodel reference created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reference"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostSubmodelReference/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodel-refs/{submodelIdentifier}": {
      "delete": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Deletes the submodel reference from the Asset Administration Shell. Does not delete the submodel itself!",
        "operationId": "DeleteSubmodelReferenceById_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Submodel reference deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteSubmodelReference/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/$value": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns the Submodel's ValueOnly representation",
        "operationId": "GetSubmodelById-ValueOnly_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Submodel",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelValue"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetSubmodel/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns all submodel elements including their hierarchy",
        "operationId": "GetAllSubmodelElements_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of found submodel elements",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSubmodelElementsResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllSubmodelElements/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Creates a new submodel element",
        "operationId": "PostSubmodelElement_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Requested submodel element",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmodelElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Submodel element created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelElement"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostSubmodelElement/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/$value": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns all submodel elements including their hierarchy in the ValueOnly representation",
        "operationId": "GetAllSubmodelElements-ValueOnly_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of found submodel elements in their ValueOnly representation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSubmodelElementsValueResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetAllSubmodelElements/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns a specific submodel element from the Submodel at a specified path",
        "operationId": "GetSubmodelElementByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested submodel element",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelElement"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Updates an existing submodel element at a specified path within submodel elements hierarchy",
        "operationId": "PutSubmodelElementByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Requested submodel element",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmodelElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Submodel element updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutSubmodelElementByPath/3/0",
          "https://admin-shell.io/aas/API/SetSubmodelElementValueByPath/3/0"
        ]
      },
      "post": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Creates a new submodel element at a specified path within submodel elements hierarchy",
        "operationId": "PostSubmodelElementByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Requested submodel element",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmodelElement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Submodel element created successfully",
            "headers": {
              "Location": {
                "description": "URL of the newly created resource",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelElement"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PostSubmodelElementByPath/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Deletes a submodel element at a specified path within the submodel elements hierarchy",
        "operationId": "DeleteSubmodelElementByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell's unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel's unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Submodel element deleted successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteSubmodelElementByPath/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/$value": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository API"
        ],
        "summary": "Returns a specific submodel element from the Submodel at a specified path in the ValueOnly representation",
        "operationId": "GetSubmodelElementByPath-ValueOnly_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested submodel element in its ValueOnly representation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmodelElementValue"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/0"
        ]
      }
    },
    "/v3/shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/attachment": {
      "get": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "summary": "Downloads file content from a specific submodel element from the Submodel at a specified path",
        "operationId": "GetFileByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested file",
            "headers": {
              "Content-Disposition": {
                "description": "In order to physically download the file usually set to attachment with a filename",
                "style": "simple",
                "explode": false,
                "schema": {
                  "type": "string"
                },
                "example": "attachment; filename=\"filename.jpg\""
              }
            },
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:read"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/GetFileByPath/3/0"
        ]
      },
      "put": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "summary": "Uploads file content to an existing submodel element at a specified path within submodel elements hierarchy",
        "operationId": "PutFileByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "File to upload",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/idShortPath_attachment_body"
              },
              "encoding": {
                "file": {
                  "contentType": "application/octet-stream",
                  "style": "form"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Submodel element updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/PutFileByPath/3/0"
        ]
      },
      "delete": {
        "tags": [
          "Asset Administration Shell Repository Files API"
        ],
        "summary": "Deletes file content of an existing submodel element at a specified path within submodel elements hierarchy",
        "operationId": "DeleteFileByPath_AasRepository",
        "parameters": [
          {
            "name": "aasIdentifier",
            "in": "path",
            "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "submodelIdentifier",
            "in": "path",
            "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idShortPath",
            "in": "path",
            "description": "IdShort path to the submodel element (dot-separated)",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Submodel element updated successfully"
          },
          "400": {
            "$ref": "#/components/responses/bad-request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not-found"
          },
          "500": {
            "$ref": "#/components/responses/internal-server-error"
          },
          "default": {
            "$ref": "#/components/responses/default"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "aas:write"
            ]
          }
        ],
        "x-semanticIds": [
          "https://admin-shell.io/aas/API/DeleteFileByPath/3/0"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "GetPackageDescriptionsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PackageDescription"
                }
              }
            }
          }
        ]
      },
      "PagedResult": {
        "type": "object",
        "properties": {
          "paging_metadata": {
            "$ref": "#/components/schemas/PagedResult_paging_metadata"
          }
        }
      },
      "PackageDescription": {
        "type": "object",
        "properties": {
          "aasIds": {
            "type": "array",
            "items": {
              "maxLength": 2000,
              "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
              "type": "string"
            }
          },
          "packageId": {
            "maxLength": 128,
            "type": "string"
          }
        }
      },
      "Result": {
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Message"
            }
          }
        }
      },
      "Message": {
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "correlationId": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "messageType": {
            "type": "string",
            "enum": [
              "Undefined",
              "Info",
              "Warning",
              "Error",
              "Exception"
            ]
          },
          "text": {
            "type": "string"
          },
          "timestamp": {
            "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$",
            "type": "string"
          }
        }
      },
      "ServiceDescription": {
        "type": "object",
        "properties": {
          "profiles": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "example": "[\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003\",\"https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001\",\"https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002\",\"https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003\",\"https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004\",\"https://admin-shell.io/aas/API/3/0/ConceptDescriptionServiceSpecification/SSP-001\"]"
            }
          }
        },
        "description": "The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.",
        "example": "{\n  \"profiles\": [\n    \"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002\",\n    \"https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002\"\n  ]\n}"
      },
      "packages_body": {
        "type": "object",
        "properties": {
          "aasIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "format": "binary"
          },
          "fileName": {
            "type": "string"
          }
        }
      },
      "packages_packageId_body": {
        "type": "object",
        "properties": {
          "aasIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "format": "binary"
          },
          "fileName": {
            "type": "string"
          }
        }
      },
      "PagedResult_paging_metadata": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "example": "wJlCDLIl6KTWypN7T6vc6nWEmEYe99Hjf1XY1xmqV-M=#"
          }
        }
      },
      "AssetKind": {
        "type": "string",
        "enum": [
          "Instance",
          "NotApplicable",
          "Type"
        ]
      },
      "GetAssetAdministrationShellDescriptorsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AssetAdministrationShellDescriptor"
                }
              }
            }
          }
        ]
      },
      "AssetAdministrationShellDescriptor": {
        "required": [
          "id"
        ],
        "type": "object",
        "example": "{ \"id\": \"https://example.org/aas/motor\", \"endpoints\": [ { \"protocolInformation\": { \"href\": \"https://localhost:1234/api/v3.0/aas\", \"endpointProtocol\": \"HTTP\", \"endpointProtocolVersion\": [\"1.1\"] }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"https://localhost:5678\", \"endpointProtocol\": \"HTTP\", \"endpointProtocolVersion\": [\"1.1\"], \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-3.0\" } ] }",
        "allOf": [
          {
            "$ref": "#/components/schemas/Descriptor"
          },
          {
            "properties": {
              "administration": {
                "$ref": "#/components/schemas/AdministrativeInformation"
              },
              "assetKind": {
                "$ref": "#/components/schemas/AssetKind"
              },
              "assetType": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "endpoints": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Endpoint"
                }
              },
              "globalAssetId": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "idShort": {
                "maxLength": 128,
                "type": "string"
              },
              "id": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "specificAssetIds": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SpecificAssetId"
                }
              },
              "submodelDescriptors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelDescriptor"
                }
              }
            }
          }
        ]
      },
      "Descriptor": {
        "type": "object",
        "properties": {
          "description": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LangStringTextType"
            }
          },
          "displayName": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LangStringNameType"
            }
          },
          "extensions": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Extension"
            }
          }
        },
        "example": "{ \"endpoints\": [ { \"protocolInformation\": { \"href\": \"https://localhost:1234/api/v3.0/aas\", \"endpointProtocolVersion\": [\"1.1\"] }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"https://localhost:5678\", \"endpointProtocolVersion\": [\"1.1\"], \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-3.0\" } ] }"
      },
      "LangStringTextType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AbstractLangString"
          },
          {
            "properties": {
              "text": {
                "maxLength": 1023
              }
            }
          }
        ]
      },
      "AbstractLangString": {
        "required": [
          "language",
          "text"
        ],
        "type": "object",
        "properties": {
          "language": {
            "pattern": "^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$",
            "type": "string"
          },
          "text": {
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          }
        }
      },
      "LangStringNameType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AbstractLangString"
          },
          {
            "properties": {
              "text": {
                "maxLength": 128
              }
            }
          }
        ]
      },
      "Extension": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "valueType": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "value": {
                "type": "string"
              },
              "refersTo": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Reference"
                }
              }
            }
          }
        ]
      },
      "HasSemantics": {
        "type": "object",
        "properties": {
          "semanticId": {
            "$ref": "#/components/schemas/Reference"
          },
          "supplementalSemanticIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reference"
            }
          }
        }
      },
      "Reference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReferenceParent"
          },
          {
            "properties": {
              "referredSemanticId": {
                "$ref": "#/components/schemas/ReferenceParent"
              }
            }
          }
        ]
      },
      "ReferenceParent": {
        "required": [
          "keys",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ReferenceTypes"
          },
          "keys": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Key"
            }
          }
        }
      },
      "ReferenceTypes": {
        "type": "string",
        "enum": [
          "ExternalReference",
          "ModelReference"
        ]
      },
      "Key": {
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/KeyTypes"
          },
          "value": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          }
        }
      },
      "KeyTypes": {
        "type": "string",
        "enum": [
          "AnnotatedRelationshipElement",
          "AssetAdministrationShell",
          "BasicEventElement",
          "Blob",
          "Capability",
          "ConceptDescription",
          "DataElement",
          "Entity",
          "EventElement",
          "File",
          "FragmentReference",
          "GlobalReference",
          "Identifiable",
          "MultiLanguageProperty",
          "Operation",
          "Property",
          "Range",
          "Referable",
          "ReferenceElement",
          "RelationshipElement",
          "Submodel",
          "SubmodelElement",
          "SubmodelElementCollection",
          "SubmodelElementList"
        ]
      },
      "DataTypeDefXsd": {
        "type": "string",
        "enum": [
          "xs:anyURI",
          "xs:base64Binary",
          "xs:boolean",
          "xs:byte",
          "xs:date",
          "xs:dateTime",
          "xs:decimal",
          "xs:double",
          "xs:duration",
          "xs:float",
          "xs:gDay",
          "xs:gMonth",
          "xs:gMonthDay",
          "xs:gYear",
          "xs:gYearMonth",
          "xs:hexBinary",
          "xs:int",
          "xs:integer",
          "xs:long",
          "xs:negativeInteger",
          "xs:nonNegativeInteger",
          "xs:nonPositiveInteger",
          "xs:positiveInteger",
          "xs:short",
          "xs:string",
          "xs:time",
          "xs:unsignedByte",
          "xs:unsignedInt",
          "xs:unsignedLong",
          "xs:unsignedShort"
        ]
      },
      "AdministrativeInformation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "properties": {
              "version": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 4,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^(0|[1-9][0-9]*)$"
                  }
                ]
              },
              "revision": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 4,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^(0|[1-9][0-9]*)$"
                  }
                ]
              },
              "creator": {
                "$ref": "#/components/schemas/Reference"
              },
              "templateId": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              }
            }
          }
        ]
      },
      "HasDataSpecification": {
        "type": "object",
        "properties": {
          "embeddedDataSpecifications": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmbeddedDataSpecification"
            }
          }
        }
      },
      "EmbeddedDataSpecification": {
        "required": [
          "dataSpecification",
          "dataSpecificationContent"
        ],
        "type": "object",
        "properties": {
          "dataSpecificationContent": {
            "$ref": "#/components/schemas/DataSpecificationContent_choice"
          },
          "dataSpecification": {
            "$ref": "#/components/schemas/Reference"
          }
        }
      },
      "DataSpecificationContent_choice": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DataSpecificationIec61360"
          }
        ]
      },
      "DataSpecificationIec61360": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataSpecificationContent"
          },
          {
            "required": [
              "preferredName"
            ],
            "properties": {
              "preferredName": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringPreferredNameTypeIec61360"
                }
              },
              "shortName": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringShortNameTypeIec61360"
                }
              },
              "unit": {
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "unitId": {
                "$ref": "#/components/schemas/Reference"
              },
              "sourceOfDefinition": {
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "symbol": {
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "dataType": {
                "$ref": "#/components/schemas/DataTypeIec61360"
              },
              "definition": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringDefinitionTypeIec61360"
                }
              },
              "valueFormat": {
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "valueList": {
                "$ref": "#/components/schemas/ValueList"
              },
              "value": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "levelType": {
                "$ref": "#/components/schemas/LevelType"
              },
              "modelType": {
                "pattern": "^DataSpecificationIec61360$",
                "type": "string"
              }
            }
          }
        ]
      },
      "DataSpecificationContent": {
        "required": [
          "modelType"
        ],
        "type": "object",
        "properties": {
          "modelType": {
            "$ref": "#/components/schemas/ModelType"
          }
        }
      },
      "ModelType": {
        "type": "string",
        "enum": [
          "AnnotatedRelationshipElement",
          "AssetAdministrationShell",
          "BasicEventElement",
          "Blob",
          "Capability",
          "ConceptDescription",
          "DataSpecificationIec61360",
          "Entity",
          "File",
          "MultiLanguageProperty",
          "Operation",
          "Property",
          "Range",
          "ReferenceElement",
          "RelationshipElement",
          "Submodel",
          "SubmodelElementCollection",
          "SubmodelElementList"
        ]
      },
      "LangStringPreferredNameTypeIec61360": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AbstractLangString"
          },
          {
            "properties": {
              "text": {
                "maxLength": 255
              }
            }
          }
        ]
      },
      "LangStringShortNameTypeIec61360": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AbstractLangString"
          },
          {
            "properties": {
              "text": {
                "maxLength": 18
              }
            }
          }
        ]
      },
      "DataTypeIec61360": {
        "type": "string",
        "enum": [
          "BLOB",
          "BOOLEAN",
          "DATE",
          "FILE",
          "HTML",
          "INTEGER_COUNT",
          "INTEGER_CURRENCY",
          "INTEGER_MEASURE",
          "IRDI",
          "IRI",
          "RATIONAL",
          "RATIONAL_MEASURE",
          "REAL_COUNT",
          "REAL_CURRENCY",
          "REAL_MEASURE",
          "STRING",
          "STRING_TRANSLATABLE",
          "TIME",
          "TIMESTAMP"
        ]
      },
      "LangStringDefinitionTypeIec61360": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AbstractLangString"
          },
          {
            "properties": {
              "text": {
                "maxLength": 1023
              }
            }
          }
        ]
      },
      "ValueList": {
        "required": [
          "valueReferencePairs"
        ],
        "type": "object",
        "properties": {
          "valueReferencePairs": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValueReferencePair"
            }
          }
        }
      },
      "ValueReferencePair": {
        "required": [
          "value",
          "valueId"
        ],
        "type": "object",
        "properties": {
          "value": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "valueId": {
            "$ref": "#/components/schemas/Reference"
          }
        }
      },
      "LevelType": {
        "required": [
          "max",
          "min",
          "nom",
          "typ"
        ],
        "type": "object",
        "properties": {
          "min": {
            "type": "boolean"
          },
          "nom": {
            "type": "boolean"
          },
          "typ": {
            "type": "boolean"
          },
          "max": {
            "type": "boolean"
          }
        }
      },
      "Endpoint": {
        "required": [
          "interface",
          "protocolInformation"
        ],
        "type": "object",
        "properties": {
          "interface": {
            "maxLength": 128,
            "type": "string"
          },
          "protocolInformation": {
            "$ref": "#/components/schemas/ProtocolInformation"
          }
        }
      },
      "ProtocolInformation": {
        "required": [
          "href"
        ],
        "type": "object",
        "properties": {
          "href": {
            "maxLength": 2048,
            "type": "string"
          },
          "endpointProtocol": {
            "maxLength": 128,
            "type": "string"
          },
          "endpointProtocolVersion": {
            "type": "array",
            "items": {
              "maxLength": 128,
              "type": "string"
            }
          },
          "subprotocol": {
            "maxLength": 128,
            "type": "string"
          },
          "subprotocolBody": {
            "maxLength": 128,
            "type": "string"
          },
          "subprotocolBodyEncoding": {
            "maxLength": 128,
            "type": "string"
          },
          "securityAttributes": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProtocolInformation_securityAttributes"
            }
          }
        }
      },
      "SpecificAssetId": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "required": [
              "name",
              "value"
            ],
            "properties": {
              "name": {
                "maxLength": 64,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "value": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "externalSubjectId": {
                "$ref": "#/components/schemas/Reference"
              }
            }
          }
        ]
      },
      "SubmodelDescriptor": {
        "required": [
          "endpoints",
          "id"
        ],
        "type": "object",
        "properties": {
          "administration": {
            "$ref": "#/components/schemas/AdministrativeInformation"
          },
          "endpoints": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Endpoint"
            }
          },
          "idShort": {
            "maxLength": 128,
            "type": "string"
          },
          "id": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "semanticId": {
            "$ref": "#/components/schemas/Reference"
          },
          "supplementalSemanticId": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reference"
            }
          }
        },
        "example": "{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"href\": { \"href\": \"https://localhost:1234/api/v3.0/submodel\", \"endpointProtocol\": \"HTTP\", \"endpointProtocolVersion\": [\"1.1\"] }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-3.0\" }, { \"protocolInformation\": { \"href\": \"https://localhost:5678\", \"endpointProtocol\": \"HTTP\", \"endpointProtocolVersion\": [\"1.1\"], \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-3.0\" } ] }",
        "allOf": [
          {
            "$ref": "#/components/schemas/Descriptor"
          }
        ]
      },
      "GetSubmodelDescriptorsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelDescriptor"
                }
              }
            }
          }
        ]
      },
      "ProtocolInformation_securityAttributes": {
        "required": [
          "key",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "NONE",
              "RFC_TLSA",
              "W3C_DID"
            ]
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "LookupShellsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "GetAssetAdministrationShellsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AssetAdministrationShell"
                }
              }
            }
          }
        ]
      },
      "AssetAdministrationShell": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Identifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "required": [
              "assetInformation"
            ],
            "properties": {
              "derivedFrom": {
                "$ref": "#/components/schemas/Reference"
              },
              "assetInformation": {
                "$ref": "#/components/schemas/AssetInformation"
              },
              "submodels": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Reference"
                }
              },
              "modelType": {
                "pattern": "^AssetAdministrationShell$",
                "type": "string"
              }
            }
          }
        ]
      },
      "Identifiable": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable"
          },
          {
            "required": [
              "id"
            ],
            "properties": {
              "administration": {
                "$ref": "#/components/schemas/AdministrativeInformation"
              },
              "id": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              }
            }
          }
        ]
      },
      "Referable": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasExtensions"
          },
          {
            "required": [
              "modelType"
            ],
            "properties": {
              "category": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "idShort": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 128,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$"
                  }
                ]
              },
              "displayName": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringNameType"
                }
              },
              "description": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringTextType"
                }
              },
              "modelType": {
                "$ref": "#/components/schemas/ModelType"
              }
            }
          }
        ]
      },
      "HasExtensions": {
        "type": "object",
        "properties": {
          "extensions": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Extension"
            }
          }
        }
      },
      "AssetInformation": {
        "required": [
          "assetKind"
        ],
        "type": "object",
        "properties": {
          "assetKind": {
            "$ref": "#/components/schemas/AssetKind"
          },
          "globalAssetId": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "specificAssetIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpecificAssetId"
            }
          },
          "assetType": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "defaultThumbnail": {
            "$ref": "#/components/schemas/Resource"
          }
        }
      },
      "Resource": {
        "required": [
          "path"
        ],
        "type": "object",
        "properties": {
          "path": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "contentType": {
            "type": "string",
            "allOf": [
              {
                "maxLength": 100,
                "minLength": 1
              },
              {
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
              },
              {
                "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[-��])|\\\\([\\t !-~]|[-��]))*\"))*$"
              }
            ]
          }
        }
      },
      "GetReferencesResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Reference"
                }
              }
            }
          }
        ]
      },
      "Submodel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Identifiable"
          },
          {
            "$ref": "#/components/schemas/HasKind"
          },
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "$ref": "#/components/schemas/Qualifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "properties": {
              "submodelElements": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElement_choice"
                }
              },
              "modelType": {
                "pattern": "^Submodel$",
                "type": "string"
              }
            }
          }
        ]
      },
      "HasKind": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/ModellingKind"
          }
        }
      },
      "ModellingKind": {
        "type": "string",
        "enum": [
          "Instance",
          "Template"
        ]
      },
      "Qualifiable": {
        "required": [
          "modelType"
        ],
        "type": "object",
        "properties": {
          "qualifiers": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Qualifier"
            }
          },
          "modelType": {
            "$ref": "#/components/schemas/ModelType"
          }
        }
      },
      "Qualifier": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "required": [
              "type",
              "valueType"
            ],
            "properties": {
              "kind": {
                "$ref": "#/components/schemas/QualifierKind"
              },
              "type": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "valueType": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "value": {
                "type": "string"
              },
              "valueId": {
                "$ref": "#/components/schemas/Reference"
              }
            }
          }
        ]
      },
      "QualifierKind": {
        "type": "string",
        "enum": [
          "ConceptQualifier",
          "TemplateQualifier",
          "ValueQualifier"
        ]
      },
      "SubmodelElement_choice": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RelationshipElement"
          },
          {
            "$ref": "#/components/schemas/AnnotatedRelationshipElement"
          },
          {
            "$ref": "#/components/schemas/BasicEventElement"
          },
          {
            "$ref": "#/components/schemas/Blob"
          },
          {
            "$ref": "#/components/schemas/Capability"
          },
          {
            "$ref": "#/components/schemas/Entity"
          },
          {
            "$ref": "#/components/schemas/File"
          },
          {
            "$ref": "#/components/schemas/MultiLanguageProperty"
          },
          {
            "$ref": "#/components/schemas/Operation"
          },
          {
            "$ref": "#/components/schemas/Property"
          },
          {
            "$ref": "#/components/schemas/Range"
          },
          {
            "$ref": "#/components/schemas/ReferenceElement"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementCollection"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementList"
          }
        ]
      },
      "RelationshipElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RelationshipElement_abstract"
          },
          {
            "properties": {
              "modelType": {
                "pattern": "^RelationshipElement$",
                "type": "string"
              }
            }
          }
        ]
      },
      "RelationshipElement_abstract": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "required": [
              "first",
              "second"
            ],
            "properties": {
              "first": {
                "$ref": "#/components/schemas/Reference"
              },
              "second": {
                "$ref": "#/components/schemas/Reference"
              }
            }
          }
        ]
      },
      "SubmodelElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable"
          },
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "$ref": "#/components/schemas/Qualifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          }
        ]
      },
      "AnnotatedRelationshipElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RelationshipElement_abstract"
          },
          {
            "properties": {
              "annotations": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DataElement_choice"
                }
              },
              "modelType": {
                "pattern": "^AnnotatedRelationshipElement$",
                "type": "string"
              }
            }
          }
        ]
      },
      "DataElement_choice": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/Blob"
          },
          {
            "$ref": "#/components/schemas/File"
          },
          {
            "$ref": "#/components/schemas/MultiLanguageProperty"
          },
          {
            "$ref": "#/components/schemas/Property"
          },
          {
            "$ref": "#/components/schemas/Range"
          },
          {
            "$ref": "#/components/schemas/ReferenceElement"
          }
        ]
      },
      "Blob": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "required": [
              "contentType"
            ],
            "properties": {
              "value": {
                "type": "string",
                "format": "byte"
              },
              "contentType": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 100,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[-��])|\\\\([\\t !-~]|[-��]))*\"))*$"
                  }
                ]
              },
              "modelType": {
                "pattern": "^Blob$",
                "type": "string"
              }
            }
          }
        ]
      },
      "DataElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable"
          },
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "$ref": "#/components/schemas/Qualifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          }
        ]
      },
      "File": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "required": [
              "contentType"
            ],
            "properties": {
              "value": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "contentType": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 100,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[-��])|\\\\([\\t !-~]|[-��]))*\"))*$"
                  }
                ]
              },
              "modelType": {
                "pattern": "^File$",
                "type": "string"
              }
            }
          }
        ]
      },
      "MultiLanguageProperty": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "properties": {
              "value": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringTextType"
                }
              },
              "valueId": {
                "$ref": "#/components/schemas/Reference"
              },
              "modelType": {
                "pattern": "^MultiLanguageProperty$",
                "type": "string"
              }
            }
          }
        ]
      },
      "Property": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "required": [
              "valueType"
            ],
            "properties": {
              "valueType": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "value": {
                "type": "string"
              },
              "valueId": {
                "$ref": "#/components/schemas/Reference"
              },
              "modelType": {
                "pattern": "^Property$",
                "type": "string"
              }
            }
          }
        ]
      },
      "Range": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "required": [
              "valueType"
            ],
            "properties": {
              "valueType": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "min": {
                "type": "string"
              },
              "max": {
                "type": "string"
              },
              "modelType": {
                "pattern": "^Range$",
                "type": "string"
              }
            }
          }
        ]
      },
      "ReferenceElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DataElement"
          },
          {
            "properties": {
              "value": {
                "$ref": "#/components/schemas/Reference"
              },
              "modelType": {
                "pattern": "^ReferenceElement$",
                "type": "string"
              }
            }
          }
        ]
      },
      "BasicEventElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventElement"
          },
          {
            "required": [
              "direction",
              "observed",
              "state"
            ],
            "properties": {
              "observed": {
                "$ref": "#/components/schemas/Reference"
              },
              "direction": {
                "$ref": "#/components/schemas/Direction"
              },
              "state": {
                "$ref": "#/components/schemas/StateOfEvent"
              },
              "messageTopic": {
                "maxLength": 255,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "messageBroker": {
                "$ref": "#/components/schemas/Reference"
              },
              "lastUpdate": {
                "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$",
                "type": "string"
              },
              "minInterval": {
                "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$",
                "type": "string"
              },
              "maxInterval": {
                "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$",
                "type": "string"
              },
              "modelType": {
                "pattern": "^BasicEventElement$",
                "type": "string"
              }
            }
          }
        ]
      },
      "EventElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable"
          },
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "$ref": "#/components/schemas/Qualifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          }
        ]
      },
      "Direction": {
        "type": "string",
        "enum": [
          "input",
          "output"
        ]
      },
      "StateOfEvent": {
        "type": "string",
        "enum": [
          "off",
          "on"
        ]
      },
      "Capability": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "properties": {
              "modelType": {
                "pattern": "^Capability$",
                "type": "string"
              }
            }
          }
        ]
      },
      "Entity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "required": [
              "entityType"
            ],
            "properties": {
              "statements": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElement_choice"
                }
              },
              "entityType": {
                "$ref": "#/components/schemas/EntityType"
              },
              "globalAssetId": {
                "maxLength": 2000,
                "minLength": 1,
                "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "specificAssetIds": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SpecificAssetId"
                }
              },
              "modelType": {
                "pattern": "^Entity$",
                "type": "string"
              }
            }
          }
        ]
      },
      "EntityType": {
        "type": "string",
        "enum": [
          "CoManagedEntity",
          "SelfManagedEntity"
        ]
      },
      "Operation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "properties": {
              "inputVariables": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationVariable"
                }
              },
              "outputVariables": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationVariable"
                }
              },
              "inoutputVariables": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationVariable"
                }
              },
              "modelType": {
                "pattern": "^Operation$",
                "type": "string"
              }
            }
          }
        ]
      },
      "OperationVariable": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/SubmodelElement_choice"
          }
        }
      },
      "SubmodelElementCollection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "properties": {
              "value": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElement_choice"
                }
              },
              "modelType": {
                "pattern": "^SubmodelElementCollection$",
                "type": "string"
              }
            }
          }
        ]
      },
      "SubmodelElementList": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElement"
          },
          {
            "required": [
              "typeValueListElement"
            ],
            "properties": {
              "orderRelevant": {
                "type": "boolean"
              },
              "semanticIdListElement": {
                "$ref": "#/components/schemas/Reference"
              },
              "typeValueListElement": {
                "$ref": "#/components/schemas/AasSubmodelElements"
              },
              "valueTypeListElement": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "value": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElement_choice"
                }
              },
              "modelType": {
                "pattern": "^SubmodelElementList$",
                "type": "string"
              }
            }
          }
        ]
      },
      "AasSubmodelElements": {
        "type": "string",
        "enum": [
          "AnnotatedRelationshipElement",
          "BasicEventElement",
          "Blob",
          "Capability",
          "DataElement",
          "Entity",
          "EventElement",
          "File",
          "MultiLanguageProperty",
          "Operation",
          "Property",
          "Range",
          "ReferenceElement",
          "RelationshipElement",
          "SubmodelElement",
          "SubmodelElementCollection",
          "SubmodelElementList"
        ]
      },
      "SubmodelMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Identifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "$ref": "#/components/schemas/Qualifiable"
          },
          {
            "$ref": "#/components/schemas/HasSemantics"
          },
          {
            "$ref": "#/components/schemas/HasKind"
          }
        ]
      },
      "SubmodelValue": {
        "type": "object",
        "description": "The ValueOnly serialization (patternProperties and propertyNames will be supported probably with OpenApi 3.1). For the full description of the generic JSON validation schema see the ValueOnly-Serialization as defined in the 'Specification of the Asset Administration Shell - Part 2'."
      },
      "PathItem": {
        "pattern": "^([A-Za-z][A-Za-z0-9_]+)((\\.[A-Za-z][A-Za-z0-9_]+)|(\\[(0|[1-9][0-9]*)\\])){0,}$",
        "type": "string"
      },
      "GetSubmodelElementsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElement"
                }
              }
            }
          }
        ]
      },
      "GetSubmodelElementsMetadataResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElementMetadata"
                }
              }
            }
          }
        ]
      },
      "SubmodelElementMetadata": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BlobMetadata"
          },
          {
            "$ref": "#/components/schemas/FileMetadata"
          },
          {
            "$ref": "#/components/schemas/CapabilityMetadata"
          },
          {
            "$ref": "#/components/schemas/EntityMetadata"
          },
          {
            "$ref": "#/components/schemas/BasicEventElementMetadata"
          },
          {
            "$ref": "#/components/schemas/MultiLanguagePropertyMetadata"
          },
          {
            "$ref": "#/components/schemas/OperationMetadata"
          },
          {
            "$ref": "#/components/schemas/PropertyMetadata"
          },
          {
            "$ref": "#/components/schemas/RangeMetadata"
          },
          {
            "$ref": "#/components/schemas/ReferenceElementMetadata"
          },
          {
            "$ref": "#/components/schemas/AnnotatedRelationshipElementMetadata"
          },
          {
            "$ref": "#/components/schemas/RelationshipElementMetadata"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementListMetadata"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementCollectionMetadata"
          }
        ]
      },
      "BlobMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable_1"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "$ref": "#/components/schemas/HasSemantics_1"
          },
          {
            "$ref": "#/components/schemas/Qualifiable_1"
          },
          {
            "$ref": "#/components/schemas/HasKind_1"
          }
        ]
      },
      "FileMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "SubmodelElementAttributes": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable_1"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "$ref": "#/components/schemas/HasSemantics_1"
          },
          {
            "$ref": "#/components/schemas/Qualifiable_1"
          },
          {
            "$ref": "#/components/schemas/HasKind_1"
          }
        ]
      },
      "Referable_1": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasExtensions"
          },
          {
            "required": [
              "modelType"
            ],
            "properties": {
              "category": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^([\\t\\n\\r -������-���]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "idShort": {
                "type": "string",
                "allOf": [
                  {
                    "maxLength": 128,
                    "minLength": 1
                  },
                  {
                    "pattern": "^([\\t\\n\\r -������-���]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
                  },
                  {
                    "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$"
                  }
                ]
              },
              "displayName": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringNameType"
                }
              },
              "description": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LangStringTextType"
                }
              },
              "modelType": {
                "$ref": "#/components/schemas/ModelType"
              }
            }
          }
        ]
      },
      "HasSemantics_1": {
        "type": "object",
        "properties": {
          "semanticId": {
            "$ref": "#/components/schemas/Reference"
          },
          "supplementalSemanticIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reference"
            }
          }
        }
      },
      "Qualifiable_1": {
        "required": [
          "modelType"
        ],
        "type": "object",
        "properties": {
          "qualifiers": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Qualifier_1"
            }
          },
          "modelType": {
            "$ref": "#/components/schemas/ModelType"
          }
        }
      },
      "Qualifier_1": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HasSemantics_1"
          },
          {
            "required": [
              "type",
              "valueType"
            ],
            "properties": {
              "kind": {
                "$ref": "#/components/schemas/QualifierKind"
              },
              "type": {
                "maxLength": 128,
                "minLength": 1,
                "pattern": "^([\\t\\n\\r -������-���]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
                "type": "string"
              },
              "valueType": {
                "$ref": "#/components/schemas/DataTypeDefXsd"
              },
              "value": {
                "type": "string"
              },
              "valueId": {
                "$ref": "#/components/schemas/Reference"
              }
            }
          }
        ]
      },
      "HasKind_1": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/ModellingKind"
          }
        }
      },
      "CapabilityMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "EntityMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "BasicEventElementMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          },
          {
            "properties": {
              "direction": {
                "$ref": "#/components/schemas/Direction"
              },
              "state": {
                "$ref": "#/components/schemas/StateOfEvent"
              },
              "messageTopic": {
                "maxLength": 255,
                "type": "string"
              },
              "messageBroker": {
                "$ref": "#/components/schemas/Reference"
              },
              "lastUpdate": {
                "type": "string"
              },
              "minInterval": {
                "type": "string"
              },
              "maxInterval": {
                "type": "string"
              }
            }
          }
        ]
      },
      "MultiLanguagePropertyMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "OperationMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "PropertyMetadata": {
        "properties": {
          "valueType": {
            "$ref": "#/components/schemas/DataTypeDefXsd"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "RangeMetadata": {
        "properties": {
          "valueType": {
            "$ref": "#/components/schemas/DataTypeDefXsd"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "ReferenceElementMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "AnnotatedRelationshipElementMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Referable_1"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "$ref": "#/components/schemas/HasSemantics_1"
          },
          {
            "$ref": "#/components/schemas/Qualifiable_1"
          },
          {
            "$ref": "#/components/schemas/HasKind_1"
          }
        ]
      },
      "RelationshipElementMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "SubmodelElementListMetadata": {
        "properties": {
          "orderRelevant": {
            "type": "boolean"
          },
          "semanticIdListElement": {
            "$ref": "#/components/schemas/Reference"
          },
          "typeValueListElement": {
            "$ref": "#/components/schemas/ModelType"
          },
          "valueTypeListElement": {
            "$ref": "#/components/schemas/DataTypeDefXsd"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "SubmodelElementCollectionMetadata": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubmodelElementAttributes"
          }
        ]
      },
      "GetSubmodelElementsValueResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SubmodelElementValue"
                }
              }
            }
          }
        ]
      },
      "SubmodelElementValue": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BasicEventElementValue"
          },
          {
            "$ref": "#/components/schemas/PropertyValue"
          },
          {
            "$ref": "#/components/schemas/MultiLanguagePropertyValue"
          },
          {
            "$ref": "#/components/schemas/BlobValue"
          },
          {
            "$ref": "#/components/schemas/FileValue"
          },
          {
            "$ref": "#/components/schemas/RangeValue"
          },
          {
            "$ref": "#/components/schemas/ReferenceElementValue"
          },
          {
            "$ref": "#/components/schemas/RelationshipElementValue"
          },
          {
            "$ref": "#/components/schemas/AnnotatedRelationshipElementValue"
          },
          {
            "$ref": "#/components/schemas/EntityValue"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementCollectionValue"
          },
          {
            "$ref": "#/components/schemas/SubmodelElementListValue"
          }
        ]
      },
      "BasicEventElementValue": {
        "required": [
          "observed"
        ],
        "type": "object",
        "properties": {
          "observed": {
            "$ref": "#/components/schemas/ReferenceValue"
          }
        }
      },
      "ReferenceValue": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ReferenceTypes"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Key"
            }
          }
        }
      },
      "PropertyValue": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/StringValue"
          },
          {
            "$ref": "#/components/schemas/NumberValue"
          },
          {
            "$ref": "#/components/schemas/BooleanValue"
          }
        ]
      },
      "StringValue": {
        "type": "string"
      },
      "NumberValue": {
        "type": "number"
      },
      "BooleanValue": {
        "type": "boolean"
      },
      "MultiLanguagePropertyValue": {
        "type": "object",
        "description": "Since patternProperties and propertyNames are not supported by OpenApi yet, the ValueOnly serialization for this elements works with the key-attribute as the JSON-property name and the value-attribute as the corresponding value."
      },
      "BlobValue": {
        "required": [
          "contentType"
        ],
        "type": "object",
        "properties": {
          "contentType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "FileValue": {
        "required": [
          "contentType",
          "value"
        ],
        "type": "object",
        "properties": {
          "contentType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RangeValue": {
        "type": "object",
        "properties": {
          "max": {
            "$ref": "#/components/schemas/RangeValueType"
          },
          "min": {
            "$ref": "#/components/schemas/RangeValueType"
          }
        }
      },
      "RangeValueType": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/StringValue"
          },
          {
            "$ref": "#/components/schemas/NumberValue"
          },
          {
            "$ref": "#/components/schemas/BooleanValue"
          }
        ]
      },
      "ReferenceElementValue": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ReferenceTypes"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Key"
            }
          }
        }
      },
      "RelationshipElementValue": {
        "required": [
          "first",
          "second"
        ],
        "type": "object",
        "properties": {
          "first": {
            "$ref": "#/components/schemas/ReferenceValue"
          },
          "second": {
            "$ref": "#/components/schemas/ReferenceValue"
          }
        }
      },
      "AnnotatedRelationshipElementValue": {
        "required": [
          "first",
          "second"
        ],
        "type": "object",
        "properties": {
          "first": {
            "$ref": "#/components/schemas/ReferenceValue"
          },
          "second": {
            "$ref": "#/components/schemas/ReferenceValue"
          },
          "annotations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValueOnly"
            }
          }
        }
      },
      "ValueOnly": {
        "type": "object",
        "description": "The ValueOnly serialization (patternProperties and propertyNames will be supported probably with OpenApi 3.1). For the full description of the generic JSON validation schema see the ValueOnly-Serialization as defined in the 'Specification of the Asset Administration Shell - Part 2'."
      },
      "EntityValue": {
        "required": [
          "entityType"
        ],
        "type": "object",
        "properties": {
          "entityType": {
            "$ref": "#/components/schemas/EntityType"
          },
          "globalAssetId": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
            "type": "string"
          },
          "specificAssetIds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpecificAssetIdValue"
            }
          },
          "statements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValueOnly"
            }
          }
        }
      },
      "SpecificAssetIdValue": {
        "type": "object",
        "description": "Since patternProperties and propertyNames are not supported by OpenApi yet, the ValueOnly serialization for this elements works with the key-attribute as the JSON-property name and the value-attribute as the corresponding value."
      },
      "SubmodelElementCollectionValue": {
        "type": "object",
        "description": "Since patternProperties and propertyNames are not supported by OpenApi yet, the ValueOnly serialization for this elements works with the key-attribute as the JSON-property name and the value-attribute as the corresponding value."
      },
      "SubmodelElementListValue": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SubmodelElementValue"
        }
      },
      "GetPathItemsResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PagedResult"
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PathItem"
                }
              }
            }
          }
        ]
      },
      "OperationRequest": {
        "type": "object",
        "properties": {
          "inoutputArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationVariable"
            }
          },
          "inputArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationVariable"
            }
          },
          "clientTimeoutDuration": {
            "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$",
            "type": "string"
          }
        }
      },
      "OperationResult": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOperationResult"
          },
          {
            "properties": {
              "inoutputArguments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationVariable"
                }
              },
              "outputArguments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationVariable"
                }
              }
            }
          }
        ]
      },
      "BaseOperationResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Result"
          },
          {
            "properties": {
              "executionState": {
                "$ref": "#/components/schemas/ExecutionState"
              },
              "success": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ExecutionState": {
        "type": "string",
        "enum": [
          "Initiated",
          "Running",
          "Completed",
          "Canceled",
          "Failed",
          "Timeout"
        ]
      },
      "OperationRequestValueOnly": {
        "required": [
          "clientTimeoutDuration"
        ],
        "type": "object",
        "properties": {
          "inoutputArguments": {
            "$ref": "#/components/schemas/ValueOnly"
          },
          "inputArguments": {
            "$ref": "#/components/schemas/ValueOnly"
          },
          "clientTimeoutDuration": {
            "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$",
            "type": "string"
          }
        }
      },
      "OperationResultValueOnly": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOperationResult"
          },
          {
            "properties": {
              "inoutputArguments": {
                "$ref": "#/components/schemas/ValueOnly"
              },
              "outputArguments": {
                "$ref": "#/components/schemas/ValueOnly"
              }
            }
          }
        ]
      },
      "Environment": {
        "type": "object",
        "properties": {
          "assetAdministrationShells": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssetAdministrationShell"
            }
          },
          "submodels": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Submodel"
            }
          },
          "conceptDescriptions": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConceptDescription"
            }
          }
        }
      },
      "ConceptDescription": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Identifiable"
          },
          {
            "$ref": "#/components/schemas/HasDataSpecification"
          },
          {
            "properties": {
              "isCaseOf": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Reference"
                }
              },
              "modelType": {
                "pattern": "^ConceptDescription$",
                "type": "string"
              }
            }
          }
        ]
      },
      "assetinformation_thumbnail_body": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "idShortPath_attachment_body": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      }
    },
    "responses": {
      "bad-request": {
        "description": "Bad Request, e.g. the request parameters of the format of the request body is wrong.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "unauthorized": {
        "description": "Unauthorized, e.g. the server refused the authorization attempt.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "internal-server-error": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "default": {
        "description": "Default error handling for unmentioned status codes",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "conflict": {
        "description": "Conflict, a resource which shall be created exists already. Might be thrown if a Submodel or SubmodelElement with the same ShortId is contained in a POST request.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "not-found": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Result"
            }
          }
        }
      },
      "accepted": {
        "description": "The server has accepted the request.",
        "headers": {
          "Location": {
            "description": "The URL where the client can find more information about the request.",
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "found": {
        "description": "The target resource is available but at a different location.",
        "headers": {
          "Location": {
            "description": "The URL where the client can find the target resource.",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "parameters": {
      "Limit": {
        "name": "limit",
        "in": "query",
        "description": "The maximum number of elements in the response array",
        "required": false,
        "schema": {
          "minimum": 1,
          "type": "integer"
        }
      },
      "Cursor": {
        "name": "cursor",
        "in": "query",
        "description": "A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "AssetKind": {
        "name": "assetKind",
        "in": "query",
        "description": "The Asset's kind (Instance or Type)",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/AssetKind"
        }
      },
      "AssetType": {
        "name": "assetType",
        "in": "query",
        "description": "The Asset's type (UTF8-BASE64-URL-encoded)",
        "required": false,
        "schema": {
          "maxLength": 2000,
          "minLength": 1,
          "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$",
          "type": "string"
        }
      },
      "AssetAdministrationShellIdentifier": {
        "name": "aasIdentifier",
        "in": "path",
        "description": "The Asset Administration Shell���s unique id (UTF8-BASE64-URL-encoded)",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "SubmodelIdentifier": {
        "name": "submodelIdentifier",
        "in": "path",
        "description": "The Submodel���s unique id (UTF8-BASE64-URL-encoded)",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "AssetIds": {
        "name": "assetIds",
        "in": "query",
        "description": "A list of specific Asset identifiers. Every single value asset identifier is a base64-url-encoded [SpecificAssetId](https://api.swaggerhub.com/domains/Plattform_i40/Part1-MetaModel-Schemas/V3.0.3#/components/schemas/SpecificAssetId).",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "array",
          "example": "?assetIds=eyAibmFtZSI6ICJzb21lLWFzc2V0LWlkIiwgInZhbHVlIjogImh0dHA6Ly9leGFtcGxlLWNvbXBhbnkuY29tL215QXNzZXQiLCAiZXh0ZXJuYWxTdWJqZWN0SWQiOiB7ICJrZXlzIjogWyB7ICJ0eXBlIjogIkdsb2JhbFJlZmVyZW5jZSIsICJ2YWx1ZSI6ICJodHRwOi8vZXhhbXBsZS1jb21wYW55LmNvbS9leGFtcGxlLWNvbXBhbnlzLWFzc2V0LWtleXMiIH0gXSwgInR5cGUiOiAiRXh0ZXJuYWxSZWZlcmVuY2UiIH0gfQ&assetIds=eyAibmFtZSI6ICJzb21lLW90aGVyLWFzc2V0LWlkIiwgInZhbHVlIjogIjEyMzQ1QUJDIiwgImV4dGVybmFsU3ViamVjdElkIjogeyAia2V5cyI6IFsgeyAidHlwZSI6ICJHbG9iYWxSZWZlcmVuY2UiLCAidmFsdWUiOiAiaHR0cDovL215LW93bi1jb21wYW55LmNvbS9rZXlzIiB9IF0sICJ0eXBlIjogIkV4dGVybmFsUmVmZXJlbmNlIiB9IH0",
          "items": {
            "type": "string"
          }
        }
      },
      "IdShort": {
        "name": "idShort",
        "in": "query",
        "description": "The Asset Administration Shell���s IdShort",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        }
      },
      "Level": {
        "name": "level",
        "in": "query",
        "description": "Determines the structural depth of the respective resource content",
        "required": false,
        "schema": {
          "type": "string",
          "default": "deep",
          "enum": [
            "deep",
            "core"
          ]
        }
      },
      "Extent": {
        "name": "extent",
        "in": "query",
        "description": "Determines to which extent the resource is being serialized",
        "required": false,
        "schema": {
          "type": "string",
          "default": "withoutBlobValue",
          "enum": [
            "withBlobValue",
            "withoutBlobValue"
          ]
        }
      },
      "IdShortPath": {
        "name": "idShortPath",
        "in": "path",
        "description": "IdShort path to the submodel element (dot-separated)",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "HandleId": {
        "name": "handleId",
        "in": "path",
        "description": "The returned handle id of an operation���s asynchronous invocation used to request the current state of the operation���s execution (UTF8-BASE64-URL-encoded)",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string"
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://{{domain}}/auth/realms/assetfox/protocol/openid-connect/token",
            "scopes": {
              "aas:custom:read": "Read access to Assetfox's custom Asset Administration Shell API.",
              "aas:custom:write": "Write access to Assetfox's custom Asset Administration Shell API.",
              "aas-exchange:read": "Read access to the AAS Exchange API.",
              "aas-exchange:write": "Write access to the AAS Exchange API.",
              "aas:read": "Read access to the Asset Administration Shell API.",
              "aas:write": "Write access to the Asset Administration Shell API.",
              "asac:sqs": "Access to the Asynchronous Southbound Communication SQS API.",
              "connectors:sap:export": "Access to the SAP Export API.",
              "equipment:read": "Read access to the Equipment API.",
              "equipment:write": "Write access to the Equipment API.",
              "files:read": "Read access to the Files API.",
              "files:write": "Write access to the Files API.",
              "product-nodes:read": "Read access to the Product Node API.",
              "product-nodes:write": "Write access to the Product Node API.",
              "products:read": "Read access to the Product API.",
              "products:write": "Write access to the Product API.",
              "product-variants:read": "Read access to the Product Variant API.",
              "product-variants:write": "Write access to the Product Variant API.",
              "tenants:read": "Read access to the Tenant API."
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "DotAAS Part 2 | HTTP/REST | AASX File Server Service Specification",
      "tags": [
        "AASX File Server API"
      ]
    },
    {
      "name": "DotAAS Part 2 | HTTP/REST | Asset Administration Shell Registry Service Specification",
      "tags": [
        "Asset Administration Shell Registry API"
      ]
    },
    {
      "name": "DotAAS Part 2 | HTTP/REST | Discovery Service Specification",
      "tags": [
        "Asset Administration Shell Basic Discovery API"
      ]
    },
    {
      "name": "DotAAS Part 2 | HTTP/REST | Asset Administration Shell Repository Service Specification",
      "tags": [
        "Asset Administration Shell Repository API",
        "Asset Administration Shell Repository Files API"
      ]
    }
  ]
}
