openapi: 3.0.3
info:
  title: DotAAS Part 2 | HTTP/REST | Asset Administration Shell Repository Service Specification
  description: >-
    The Full Profile of the Asset Administration Shell Repository Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](https://industrialdigitaltwin.org/en/content-hub/aasspecifications).  

    Copyright: Industrial Digital Twin Association (IDTA) 2025
  contact:
    name: Industrial Digital Twin Association (IDTA)
    email: info@idtwin.org
  license: 
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
  version: V3.2.0_SSP-001
  x-profile-identifier: https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-001
servers:
- url: 'https://admin-shell.io/api/v3/'
- url: 'https://example.com/'
paths:

  /shells:
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all Asset Administration Shells
      operationId: GetAllAssetAdministrationShells
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShells/3/2
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByAssetId/3/2
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByIdShort/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetIds'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShort'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
      responses:
        '200':
          description: Requested Asset Administration Shells
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetAssetAdministrationShellsResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates a new Asset Administration Shell
      operationId: PostAssetAdministrationShell
      x-semanticIds:
        - https://admin-shell.io/aas/API/PostAssetAdministrationShell/3/2
      requestBody:
        description: Asset Administration Shell object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetAdministrationShell'
        required: true
      responses:
        '201':
          description: Asset Administration Shell created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetAdministrationShell'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '409':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/conflict'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/$recent-changes:
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns information about all Asset Administration Shells that have been changed recently
      operationId: GetAllAssetAdministrationShellsRecentChanges
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsRecentChanges/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetIds'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/CreatedFrom'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/UpdatedFrom'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
      responses:
        '200':
          description: Requested list of information about recently changed Asset Administration Shells
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetAllAssetAdministrationShellsRecentChangesResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/$reference:
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns References to all Asset Administration Shells
      operationId: GetAllAssetAdministrationShells-Reference
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShells/3/2
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByAssetId/3/2
        - https://admin-shell.io/aas/API/GetAllAssetAdministrationShellsByIdShort/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetIds'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShort'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
      responses:
        '200':
          description: Requested Asset Administration Shells as a list of References
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetReferencesResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns a specific Asset Administration Shell
      operationId: GetAssetAdministrationShellById
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAssetAdministrationShellById/3/2
      responses:
        '200':
          description: Requested Asset Administration Shell
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetAdministrationShell'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates or updates an existing Asset Administration Shell
      operationId: PutAssetAdministrationShellById
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutAssetAdministrationShellById/3/2
      requestBody:
        description: Asset Administration Shell object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetAdministrationShell'
        required: true
      responses:
        '201':
          description: Asset Administration Shell created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetAdministrationShell'
        '204':
          description: Asset Administration Shell updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Asset Administration Shell Repository API
      summary: Deletes an Asset Administration Shell
      operationId: DeleteAssetAdministrationShellById
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteAssetAdministrationShellById/3/2
      responses:
        '204':
          description: Asset Administration Shell deleted successfully
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/Result'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          description: Default error handling for unmentioned status codes
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/Result'
  /shells/{aasIdentifier}/$reference:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns a specific Asset Administration Shell as a Reference
      operationId: GetAssetAdministrationShellById-Reference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAssetAdministrationShellById/3/2
      responses:
        '200':
          description: Requested Asset Administration Shell
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Reference'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/asset-information:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Asset Information
      operationId: GetAssetInformation_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAssetInformation/3/2
      responses:
        '200':
          description: Requested Asset Information
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetInformation'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the Asset Information
      operationId: PutAssetInformation_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutAssetInformation/3/2
      requestBody:
        description: Asset Information object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/AssetInformation'
        required: true
      responses:
        '204':
          description: Asset Information updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/asset-information/thumbnail:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      operationId: GetThumbnail_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetThumbnail/3/2
      responses:
        '200':
          description: The thumbnail of the Asset Information.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      operationId: PutThumbnail_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutThumbnail/3/2
      requestBody:
        description: Thumbnail to upload
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                fileName:
                  type: string
                file:
                  type: string
                  format: binary
            encoding:
              file:
                contentType: application/octet-stream
        required: true
      responses:
        '204':
          description: Thumbnail updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Asset Administration Shell Repository API
      operationId: DeleteThumbnail_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteThumbnail/3/2
      responses:
        '200':
          description: >-
            Thumbnail deletion successful. 
            Deprecated: Use response code 204 instead.
        '204':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/no-content'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodel-refs:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel references
      operationId: GetAllSubmodelReferences_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelReferences/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
      responses:
        '200':
          description: Requested submodel references
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetReferencesResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates a submodel reference at the Asset Administration Shell
      operationId: PostSubmodelReference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PostSubmodelReference/3/2
      requestBody:
        description: Reference to the Submodel
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Reference'
        required: true
      responses:
        '201':
          description: Submodel reference created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Reference'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '409':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/conflict'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodel-refs/{submodelIdentifier}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/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: DeleteSubmodelReference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteSubmodelReference/3/2
      responses:
        '204':
          description: Submodel reference deleted successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Submodel
      operationId: GetSubmodelById_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Date'
      responses:
        '200':
          description: Requested Submodel
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Submodel'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates or updates the Submodel
      operationId: PutSubmodelById_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutSubmodelById/3/2
      requestBody:
        description: Submodel object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Submodel'
        required: true
      responses:
        '201':
          description: Submodel created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Submodel'
        '204':
          description: Submodel updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the Submodel
      operationId: PatchSubmodel_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodel/3/2
      parameters:
        #- $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          schema:
            type: string
            default: core
            enum:
              #- deep
              - core  # only 'core' is allowed for PATCH
      requestBody:
        description: Submodel object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Submodel'
        required: true
      responses:
        '204':
          description: Submodel updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Asset Administration Shell Repository API
      summary: Deletes the submodel from the Asset Administration Shell and the Repository.
      operationId: DeleteSubmodelById_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteSubmodelById/3/2
      responses:
        '204':
          description: Submodel deleted successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/$metadata:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Submodel's metadata elements
      operationId: GetSubmodelById-Metadata_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      responses:
        '200':
          description: Requested Submodel
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelMetadata'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the metadata attributes of the Submodel
      operationId: PatchSubmodelById-Metadata_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodel/3/2
      requestBody:
        description: Submodel object
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelMetadata'
        required: true
      responses:
        '204':
          description: Submodel updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Submodel's ValueOnly representation
      operationId: GetSubmodelById-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Date'
      responses:
        '200':
          description: Requested Submodel
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelValue'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the values of the Submodel
      operationId: PatchSubmodelById-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodel/3/2
      parameters:
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          schema:
            type: string
            default: core
            enum:
              #- deep
              - core  # only 'core' is allowed for PATCH
      requestBody:
        description: Submodel object in the ValueOnly representation
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelValue'
        required: true
      responses:
        '204':
          description: Submodel updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/$reference:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Submodel as a Reference
      operationId: GetSubmodelById-Reference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      responses:
        '200':
          description: Requested Submodel as a Reference
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Reference'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
                
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/$path:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the elements of this submodel in path notation.
      operationId: GetSubmodelById-Path_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      responses:
        '200':
          description: Requested Submodel in Path notation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/PathItem'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel elements including their hierarchy
      operationId: GetAllSubmodelElements_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelElements/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
      responses:
        '200':
          description: List of found submodel elements
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetSubmodelElementsResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates a new submodel element
      operationId: PostSubmodelElement_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PostSubmodelElement/3/2
      requestBody:
        description: Requested submodel element
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        required: true
      responses:
        '201':
          description: Submodel element created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '409':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/conflict'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/$metadata:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel elements including their hierarchy
      operationId: GetAllSubmodelElements-Metadata_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelElements/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
      responses:
        '200':
          description: List of found submodel elements
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetSubmodelElementsMetadataResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel elements including their hierarchy in the ValueOnly representation
      operationId: GetAllSubmodelElements-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelElements/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      responses:
        '200':
          description: List of found submodel elements in their ValueOnly representation
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetSubmodelElementsValueResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/$reference:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel elements as a list of References
      operationId: GetAllSubmodelElements-Reference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelElements/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          deprecated: true
          schema:
            type: string
            default: core
            enum:
              # - deep
              - core # only 'core' is allowed for Content=Reference
      responses:
        '200':
          description: List of References of the found submodel elements
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetReferencesResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/$path:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns all submodel elements including their hierarchy
      operationId: GetAllSubmodelElements-Path_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetAllSubmodelElements/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Limit'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Cursor'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
      responses:
        '200':
          description: List of found submodel elements in the Path notation
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/GetPathItemsResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns a specific submodel element from the Submodel at a specified
        path
      operationId: GetSubmodelElementByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
      responses:
        '200':
          description: Requested submodel element
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates a new submodel element at a specified path within submodel elements hierarchy
      operationId: PostSubmodelElementByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PostSubmodelElementByPath/3/2
      requestBody:
        description: Requested submodel element
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        required: true
      responses:
        '201':
          description: Submodel element created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '409':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/conflict'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      summary: Creates or updates an existing submodel element at a specified path within submodel elements hierarchy
      operationId: PutSubmodelElementByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutSubmodelElementByPath/3/2
      requestBody:
        description: Requested submodel element
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        required: true
      responses:
        '201':
          description: Submodel element created successfully
          headers:
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        '204':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates an existing submodel element value at a specified path within submodel elements hierarchy
      operationId: PatchSubmodelElementValueByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      requestBody:
        description: The updated value of the submodel element
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        required: true
      responses:
        '204':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Asset Administration Shell Repository API
      summary: Deletes a submodel element at a specified path within the submodel elements hierarchy
      operationId: DeleteSubmodelElementByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteSubmodelElementByPath/3/2
      responses:
        '204':
          description: Submodel element deleted successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/$metadata:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the metadata attributes if a specific submodel element from the Submodel at a specified
        path
      operationId: GetSubmodelElementByPath-Metadata_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      responses:
        '200':
          description: Requested submodel element
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementMetadata'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the metadata attributes of an existing submodel element value at a specified path within submodel elements hierarchy
      operationId: PatchSubmodelElementValueByPath-Metadata
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelElementByPath/3/2
      requestBody:
        description: The updated metadata attributes of the submodel element
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementMetadata'
        required: true
      responses:
        '204':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    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
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
      responses:
        '200':
          description: Requested submodel element in its ValueOnly representation
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementValue'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Asset Administration Shell Repository API
      summary: Updates the value of an existing submodel element value at a specified path within submodel elements hierarchy
      operationId: PatchSubmodelElementValueByPath-ValueOnly
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      requestBody:
        description: The updated value of the submodel element
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementValue'
        required: true
      responses:
        '204':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/$reference:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Reference of a specific submodel element from the Submodel at a specified path
      operationId: GetSubmodelElementByPath-Reference_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      parameters:
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          deprecated: true
          schema:
            type: string
            default: core
            enum:
              # - deep
              - core # only 'core' is allowed for Content=Reference
      responses:
        '200':
          description: Requested submodel element in its ValueOnly representation
          content:
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Reference'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/$path:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns a specific submodel element from the Submodel at a specified path in the Path notation
      operationId: GetSubmodelElementByPath-Path_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      responses:
        '200':
          description: Requested submodel element in the Path notation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/PathItem'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/attachment:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Downloads file content from a specific submodel element from the Submodel at a specified path
      operationId: GetFileByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetFileByPath/3/2
      responses:
        '200':
          description: Requested file
          headers:
            Content-Disposition:
              schema:
                type: string
              description: In order to physically download the file usually set to attachment with a filename
              example: 'attachment; filename="filename.jpg"'
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Asset Administration Shell Repository API
      summary: Uploads file content to an existing submodel element at a specified path within submodel elements hierarchy
      operationId: PutFileByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutFileByPath/3/2
      requestBody:
        description: File to upload
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                fileName:
                  type: string
                file:
                  type: string
                  format: binary
            encoding:
              file:
                contentType: application/octet-stream
        required: true
      responses:
        '204':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Asset Administration Shell Repository API
      summary: Deletes file content of an existing submodel element at a specified path within submodel elements hierarchy
      operationId: DeleteFileByPath_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/DeleteFileByPath/3/2
      responses:
        '200':
          description: Submodel element updated successfully
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/invoke:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Synchronously invokes an Operation at a specified path
      operationId: InvokeOperation_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/InvokeOperationSync/3/2
      requestBody:
        description: Operation request object
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationRequest'
        required: true
      responses:
        '200':
          description: Operation result object
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/invoke/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Synchronously invokes an Operation at a specified path
      operationId: InvokeOperation-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/InvokeOperationSync/3/2
      requestBody:
        description: Operation request object
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationRequestValueOnly'
        required: true
      responses:
        '200':
          description: Operation result object
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationResultValueOnly'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/invoke-async:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Asynchronously invokes an Operation at a specified path
      operationId: InvokeOperationAsync_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/InvokeOperationAsync/3/2
      requestBody:
        description: Operation request object
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationRequestAsync'
        required: true
      responses:
        '202':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/accepted'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/invoke-async/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Asset Administration Shell Repository API
      summary: Asynchronously invokes an Operation at a specified path
      operationId: InvokeOperationAsync-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/InvokeOperationAsync/3/2
      requestBody:
        description: Operation request object
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationRequestAsyncValueOnly'
        required: true
      responses:
        '202':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/accepted'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/operation-status/{handleId}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Operation status of an asynchronous invoked Operation
      operationId: GetOperationAsyncStatus_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetOperationAsyncStatus/3/2
      responses:
        '200':
          description: Operation result object containing information that the 'executionState' is still 'Running'
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/BaseOperationResult'
        '302':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/found'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/operation-results/{handleId}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the Operation result of an asynchronous invoked Operation
      operationId: GetOperationAsyncResult_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetOperationAsyncResult/3/2
      responses:
        '200':
          description: Operation result object
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationResult'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /shells/{aasIdentifier}/submodels/{submodelIdentifier}/submodel-elements/{idShortPath}/operation-results/{handleId}/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/AssetAdministrationShellIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/SubmodelIdentifier'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Asset Administration Shell Repository API
      summary: Returns the ValueOnly notation of the Operation result of an asynchronous invoked Operation
      operationId: GetOperationAsyncResult-ValueOnly_AasRepository
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetOperationAsyncResult/3/2
      responses:
        '200':
          description: Operation result object
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/OperationResultValueOnly'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '404':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/not-found'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  

  /serialization:
    get:
      tags:
        - Serialization API
      summary: Returns an appropriate serialization based on the specified format (see SerializationFormat)
      operationId: GenerateSerializationByIds
      x-semanticIds:
        - https://admin-shell.io/aas/API/GenerateSerializationByIds/3/2
      parameters:
        - name: aasIds
          in: query
          description: The Asset Administration Shells' unique ids (UTF8-BASE64-URL-encoded)
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: submodelIds
          in: query
          description: The Submodels' unique ids (UTF8-BASE64-URL-encoded)
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: includeConceptDescriptions
          in: query
          description: Include Concept Descriptions?
          style: form
          explode: true
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Requested serialization based on SerializationFormat
          content:
            application/aas+zip:
              schema:
                description: AASX package
                type: string
                format: binary
            application/json:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Environment'
            application/xml:
              schema:
                $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/Environment'
        '400':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/bad-request'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'

  /description:
    get:
      tags:
        - Description API
      summary: Returns the self-describing information of a network resource (ServiceDescription)
      operationId: GetSelfDescription
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSelfDescription/3/2
      responses:
        '200':
          description: Requested Description
          content:
            application/json:
              schema:
                $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/ServiceDescription'
        '401':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/unauthorized'
        '403':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/forbidden'
