{
  "openapi": "3.0.4",
  "info": {
    "title": "UA Cloud Library REST Service",
    "description": "A REST-full interface to the CESMII & OPC Foundation Cloud Library",
    "contact": {
      "name": "OPC Foundation",
      "url": "https://opcfoundation.org/",
      "email": "office@opcfoundation.org"
    },
    "version": "v1"
  },
  "paths": {
    "/access/roles/{roleName}": {
      "put": {
        "tags": [
          "Access"
        ],
        "parameters": [
          {
            "name": "roleName",
            "in": "path",
            "description": "Role name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A status message indicating the successful addition.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/access/userRoles/{userId}/{roleName}": {
      "put": {
        "tags": [
          "Access"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleName",
            "in": "path",
            "description": "Role name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A status message indicating the successful addition.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/approval/{identifier}": {
      "put": {
        "tags": [
          "Approval"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "description": "OPC UA Information model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "(Name of the approved namespace)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A status message indicating the successful approval.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The provided nodeset was not found.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "The provided information model could not be stored or updated.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/dpps/{dppId}": {
      "get": {
        "tags": [
          "DPPLifecycleApi"
        ],
        "parameters": [
          {
            "name": "dppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              }
            }
          }
        }
      }
    },
    "/dppsByProductId/{productId}": {
      "get": {
        "tags": [
          "DPPLifecycleApi"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]"
                }
              }
            }
          }
        }
      }
    },
    "/dppsByProductIds": {
      "post": {
        "tags": [
          "DPPLifecycleApi"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Controllers.DPPLifecycleApiController+ReadDppIdsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Controllers.DPPLifecycleApiController+ReadDppIdsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Controllers.DPPLifecycleApiController+ReadDppIdsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[System.Collections.Generic.List`1[System.String]]"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[System.Collections.Generic.List`1[System.String]]"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[System.Collections.Generic.List`1[System.String]]"
                }
              }
            }
          }
        }
      }
    },
    "/dpps/{dppId}/elements/{elementPath}": {
      "get": {
        "tags": [
          "DPPLifecycleApi"
        ],
        "parameters": [
          {
            "name": "dppId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "elementPath",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DataElement]"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DataElement]"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DataElement]"
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/find": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "A list of keywords to search for in the information models. Specify * to return everything.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination offset",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination limit",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Discovered OPC UA Information Model results of the models found in the UA Cloud Library matching the keywords provided.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANodesetResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANodesetResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANodesetResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/find2": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "keywords",
            "in": "query",
            "description": "A list of keywords to search for in the information models. Specify * to return everything.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "namespaceUri",
            "in": "query",
            "description": "The namespace URI of the information model to search for (if known).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination offset",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination limit",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Discovered OPC UA Information Model results of the models found in the UA Cloud Library matching the keywords provided.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/namespaces": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "responses": {
          "200": {
            "description": "All OPC UA Information Model namespace URIs and associated identifiers of the models found in the UA Cloud Library.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/names": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "responses": {
          "200": {
            "description": "All OPC UA Information Model names and associated identifiers of the models found in the UA Cloud Library.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/types/{identifier}": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "description": "OPC UA Information model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The OPC UA Information model types.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The identifier provided could not be parsed.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The identifier provided could not be found.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/instances/{identifier}": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "description": "OPC UA Information model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The OPC UA Information model instances.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "The identifier provided could not be parsed.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The identifier provided could not be found.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/download/{identifier}": {
      "get": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "description": "OPC UA Information model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodesetXMLOnly",
            "in": "query",
            "description": "Download NodeSet XML only, omitting metadata",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "metadataOnly",
            "in": "query",
            "description": "Download metadata only, omitting NodeSet XML",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The OPC UA Information model and its metadata.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              }
            }
          },
          "400": {
            "description": "The identifier provided could not be parsed.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The identifier provided could not be found.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/delete/{identifier}": {
      "delete": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "identifier",
            "in": "path",
            "description": "OPC UA Information model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The OPC UA Information model and its metadata.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
                }
              }
            }
          },
          "400": {
            "description": "The identifier provided could not be parsed.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The identifier provided could not be found.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/infomodel/upload": {
      "put": {
        "tags": [
          "InfoModel"
        ],
        "parameters": [
          {
            "name": "overwrite",
            "in": "query",
            "description": "An optional flag if existing OPC UA Information models in the library should be overwritten.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "values",
            "in": "query",
            "description": "An optional parameter containing the OPC UA Information model values to upload (as an array of JSON key-value pairs in the format {nodeId: value}).",
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.UANameSpace"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "A status message indicating the successful upload.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "The provided nodeset file failed verification.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "An existing information model with the same identifier already exists in the UA Cloud Library and the overwrite flag was not set or the contributor name of existing information model is different to the one provided.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "The provided information model could not be stored or updated.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v3.0/submodels/{submodelIdentifier}/submodel": {
      "get": {
        "tags": [
          "SubmodelApi"
        ],
        "summary": "GetSubmodel",
        "parameters": [
          {
            "name": "submodelIdentifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "level",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extent",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Requested Submodel",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Submodel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Submodel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Submodel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, e.g. the request parameters of the format of the request body is wrong.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized, e.g. the server refused the authorization attempt.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "0": {
            "description": "Default error handling for unmentioned status codes",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          }
        }
      }
    },
    "/api/v3.0/submodels/{submodelIdentifier}/submodel/$value": {
      "get": {
        "tags": [
          "SubmodelApi"
        ],
        "summary": "GetSubmodelValueOnly",
        "parameters": [
          {
            "name": "submodelIdentifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "level",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extent",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ValueOnly representation of the Submodel",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdminShell.SubmodelElement"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdminShell.SubmodelElement"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdminShell.SubmodelElement"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request, e.g. the request parameters of the format of the request body is wrong.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized, e.g. the server refused the authorization attempt.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          },
          "0": {
            "description": "Default error handling for unmentioned status codes",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdminShell.Result"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AdminShell.Result": {
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "success": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AdminShell.Submodel": {
        "type": "object",
        "properties": {
          "semanticId": {
            "type": "string",
            "nullable": true
          },
          "submodelElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminShell.SubmodelElement"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AdminShell.SubmodelElement": {
        "type": "object",
        "properties": {
          "semanticId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Controllers.DPPLifecycleApiController+ReadDppIdsRequest": {
        "type": "object",
        "properties": {
          "productIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.ApiMessage": {
        "type": "object",
        "properties": {
          "messageType": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DataElement]": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "string",
            "nullable": true
          },
          "payload": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.DataElement"
          },
          "result": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResult"
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.ApiResponse`1[Opc.Ua.Cloud.Library.Models.DigitalProductPassport]": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "string",
            "nullable": true
          },
          "payload": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.DigitalProductPassport"
          },
          "result": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResult"
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.ApiResponse`1[System.Collections.Generic.List`1[System.String]]": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "string",
            "nullable": true
          },
          "payload": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiResult"
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.ApiResult": {
        "type": "object",
        "properties": {
          "message": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.ApiMessage"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.DataElement": {
        "required": [
          "elementId"
        ],
        "type": "object",
        "properties": {
          "elementId": {
            "type": "string",
            "nullable": true
          },
          "dictionaryReference": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.DigitalProductPassport": {
        "required": [
          "digitalProductPassportId",
          "dppSchemaVersion",
          "dppStatus",
          "economicOperatorId",
          "lastUpdate",
          "uniqueProductIdentifier"
        ],
        "type": "object",
        "properties": {
          "digitalProductPassportId": {
            "type": "string",
            "nullable": true
          },
          "uniqueProductIdentifier": {
            "type": "string",
            "nullable": true
          },
          "dppSchemaVersion": {
            "type": "string",
            "nullable": true
          },
          "dppStatus": {
            "type": "string",
            "nullable": true
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "economicOperatorId": {
            "type": "string",
            "nullable": true
          },
          "facilityId": {
            "type": "string",
            "nullable": true
          },
          "elements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.DataElement"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.Nodeset": {
        "type": "object",
        "properties": {
          "nodesetXml": {
            "type": "string",
            "nullable": true
          },
          "identifier": {
            "type": "integer",
            "format": "int32"
          },
          "namespaceUri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "publicationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "requiredModels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.RequiredModelInfo"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.RequiredModelInfo": {
        "type": "object",
        "properties": {
          "namespaceUri": {
            "type": "string",
            "nullable": true
          },
          "publicationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "availableModel": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.Nodeset"
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.UANameSpace": {
        "required": [
          "copyrightText",
          "description",
          "nodeset",
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "license": {
            "type": "string",
            "nullable": true
          },
          "copyrightText": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "documentationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "iconUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "licenseUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "purchasingInformationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "releaseNotesUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "testSpecificationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "supportedLocales": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "nodeset": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.Nodeset"
          },
          "creationTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "numberOfDownloads": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Opc.Ua.Cloud.Library.Models.UANodesetResult": {
        "required": [
          "copyrightText",
          "description",
          "nodeset",
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "license": {
            "type": "string",
            "nullable": true
          },
          "copyrightText": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "documentationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "iconUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "licenseUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "purchasingInformationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "releaseNotesUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "testSpecificationUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "supportedLocales": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "nodeset": {
            "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.Nodeset"
          },
          "creationTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "numberOfDownloads": {
            "type": "integer",
            "format": "int32"
          },
          "nodesetId": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "nodesetTitle": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "orgName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "version": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "publicationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "nodesetNamespaceUri": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "requiredNodesets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Opc.Ua.Cloud.Library.Models.RequiredModelInfo"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": [ ]
    }
  ],
  "tags": [
    {
      "name": "Access"
    },
    {
      "name": "Approval"
    },
    {
      "name": "DPPLifecycleApi"
    },
    {
      "name": "InfoModel"
    },
    {
      "name": "SubmodelApi"
    }
  ]
}