openapi: 3.0.3
info:
  title: DotAAS Part 2 | HTTP/REST | Submodel Service Specification
  description: >-
    The Full Profile of the Submodel 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/SubmodelServiceSpecification/SSP-001
servers:
- url: 'https://admin-shell.io/api/v3/'
- url: 'https://example.com/'
paths:
  
  /submodel:
    get:
      tags:
        - Submodel API
      summary: Returns the Submodel
      operationId: GetSubmodel
      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'
      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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Submodel API
      summary: Updates the Submodel
      operationId: PutSubmodel
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutSubmodel/3/2
      parameters:
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          schema:
            type: string
            default: deep
            enum:
              - deep # only 'deep' is allowed for PUT
              #- core 
      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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Submodel API
      summary: Updates the Submodel
      operationId: PatchSubmodel
      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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/$metadata:
    get:
      tags:
        - Submodel API
      summary: Returns the metadata attributes of a specific Submodel
      operationId: GetSubmodel-Metadata
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/3/2
      responses:
        '200':
          description: Requested Submodel in the metadata representation
          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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Submodel API
      summary: Updates the metadata attributes of the Submodel
      operationId: PatchSubmodel-Metadata
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodel/3/2
      requestBody:
        description: The metadata attributes of the 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/$value:
    get:
      tags:
        - Submodel API
      summary: Returns the Submodel in the ValueOnly representation
      operationId: GetSubmodel-ValueOnly
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelById/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Extent'
      responses:
        '200':
          description: ValueOnly representation of the 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    patch:
      tags:
        - Submodel API
      summary: Updates the values of the Submodel
      operationId: PatchSubmodel-ValueOnly
      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 its 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/$reference:
    get:
      tags:
        - Submodel API
      summary: Returns the Reference of the Submodel
      operationId: GetSubmodel-Reference
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodel/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 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/$path:
    get:
      tags:
        - Submodel API
      summary: Returns the Submodel in the Path notation
      operationId: GetSubmodel-Path
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelById/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      responses:
        '200':
          description: 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements:
    get:
      tags:
        - Submodel API
      summary: Returns all submodel elements including their hierarchy
      operationId: GetAllSubmodelElements
      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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    post:
      tags:
        - Submodel API
      summary: Creates a new submodel element
      operationId: PostSubmodelElement
      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'
        '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'
  /submodel/submodel-elements/$metadata:
    get:
      tags:
        - Submodel API
      summary: Returns the metadata attributes of all submodel elements including their hierarchy
      operationId: GetAllSubmodelElements-Metadata
      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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/$value:
    get:
      tags:
        - Submodel API
      summary: Returns all submodel elements including their hierarchy in the ValueOnly representation
      operationId: GetAllSubmodelElements-ValueOnly
      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/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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/$reference:
    get:
      tags:
        - Submodel API
      summary: Returns the References of all submodel elements
      operationId: GetAllSubmodelElements-Reference
      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 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/$path:
    get:
      tags:
        - Submodel API
      summary: Returns all submodel elements including their hierarchy in the Path notation
      operationId: GetAllSubmodelElements-Path
      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 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'
        '500':
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/internal-server-error'
        default:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/{idShortPath}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Returns a specific submodel element from the Submodel at a specified
        path
      operationId: GetSubmodelElementByPath
      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:
        - Submodel API
      summary: Creates a new submodel element at a specified path within submodel elements hierarchy
      operationId: PostSubmodelElementByPath
      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:
        - Submodel API
      summary: Creates or updates an existing submodel element at a specified path within submodel elements hierarchy
      operationId: PutSubmodelElementByPath
      x-semanticIds:
        - https://admin-shell.io/aas/API/PutSubmodelElementByPath/3/2
      parameters:
        - name: level
          in: query
          description: Determines the structural depth of the respective resource content
          required: false
          schema:
            type: string
            default: deep
            enum:
              - deep # only 'deep' is allowed for PUT
              #- core 
      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:
        - Submodel API
      summary: Updates an existing SubmodelElement
      operationId: PatchSubmodelElementByPath
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelById/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: SubmodelElement object
        content:
          application/json:
            schema:
              $ref: '../Part1-MetaModel-Schemas/openapi.yaml#/components/schemas/SubmodelElement'
        required: true
      responses:
        '204':
          description: SubmodelElement 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:
        - Submodel API
      summary: Deletes a submodel element at a specified path within the submodel elements hierarchy
      operationId: DeleteSubmodelElementByPath
      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'
  /submodel/submodel-elements/{idShortPath}/$metadata:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Returns the matadata attributes of a specific submodel element from the Submodel at a specified
        path
      operationId: GetSubmodelElementByPath-Metadata
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      responses:
        '200':
          description: Metadata attributes of the 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:
        - Submodel API
      summary: Updates the metadata attributes an existing SubmodelElement
      operationId: PatchSubmodelElementByPath-Metadata
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelElementByPath/3/2
      requestBody:
        description: Metadata attributes of the SubmodelElement
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementMetadata'
        required: true
      responses:
        '204':
          description: SubmodelElement 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'
  /submodel/submodel-elements/{idShortPath}/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Returns a specific submodel element from the Submodel at a specified
        path in the ValueOnly representation
      operationId: GetSubmodelElementByPath-ValueOnly
      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: '../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:
        - Submodel API
      summary: Updates the value of an existing SubmodelElement
      operationId: PatchSubmodelElementByPath-ValueOnly
      x-semanticIds:
        - https://admin-shell.io/aas/API/PatchSubmodelElementByPath/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: The SubmodelElement in its ValueOnly representation
        content:
          application/json:
            schema:
              $ref: '../Part2-API-Schemas/openapi.yaml#/components/schemas/SubmodelElementValue'
        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'
  /submodel/submodel-elements/{idShortPath}/$reference:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Returns the Referene of a specific submodel element from the Submodel at a specified
        path
      operationId: GetSubmodelElementByPath-Reference
      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
          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'
  /submodel/submodel-elements/{idShortPath}/$path:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Returns a specific submodel element from the Submodel at a specified
        path in the Path notation
      operationId: GetSubmodelElementByPath-Path
      x-semanticIds:
        - https://admin-shell.io/aas/API/GetSubmodelElementByPath/3/2
      parameters:
        - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/Level'
      responses:
        '200':
          description: Submodel elements 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'
  /submodel/submodel-elements/{idShortPath}/attachment:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    get:
      tags:
        - Submodel API
      summary: Downloads file content from a specific submodel element from the Submodel at a specified path
      operationId: GetFileByPath
      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'
        '405':
          description: Method not allowed - Download only valid for File submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    put:
      tags:
        - Submodel API
      summary: Uploads file content to an existing submodel element at a specified path within submodel elements hierarchy
      operationId: PutFileByPath
      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'
        '405':
          description: Method not allowed - Upload only valid for File submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
    delete:
      tags:
        - Submodel API
      summary: Deletes file content of an existing submodel element at a specified path within submodel elements hierarchy
      operationId: DeleteFileByPath
      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'    
  /submodel/submodel-elements/{idShortPath}/invoke:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Submodel API
      summary: Synchronously invokes an Operation at a specified path
      operationId: InvokeOperation
      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'
        '405':
          description: Method not allowed - Invoke only valid for Operation submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/{idShortPath}/invoke/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Submodel API
      summary: Synchronously invokes an Operation at a specified path
      operationId: InvokeOperationSync-ValueOnly
      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'
        '405':
          description: Method not allowed - Invoke only valid for Operation submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/{idShortPath}/invoke-async:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Submodel API
      summary: Asynchronously invokes an Operation at a specified path
      operationId: InvokeOperationAsync
      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'
        '405':
          description: Method not allowed - Invoke only valid for Operation submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/{idShortPath}/invoke-async/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
    post:
      tags:
        - Submodel API
      summary: Asynchronously invokes an Operation at a specified path
      operationId: InvokeOperationAsync-ValueOnly
      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'
        '405':
          description: Method not allowed - Invoke only valid for Operation submodel element
          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:
          $ref: '../Part2-API-Schemas/openapi.yaml#/components/responses/default'
  /submodel/submodel-elements/{idShortPath}/operation-status/{handleId}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Submodel API
      summary: Returns the status of an asynchronously invoked Operation
      operationId: GetOperationAsyncStatus
      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'
  /submodel/submodel-elements/{idShortPath}/operation-results/{handleId}:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Submodel API
      summary: Returns the Operation result of an asynchronous invoked Operation
      operationId: GetOperationAsyncResult
      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'
  /submodel/submodel-elements/{idShortPath}/operation-results/{handleId}/$value:
    parameters:
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/IdShortPath'
      - $ref: '../Part2-API-Schemas/openapi.yaml#/components/parameters/HandleId'
    get:
      tags:
        - Submodel API
      summary: Returns the value of the Operation result of an asynchronous invoked Operation
      operationId: GetOperationAsyncResult-ValueOnly
      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'
        '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'
  /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'
