[NCMP] Add Basic Auth to OpenAPI Definitions
[cps.git] / docs / api / swagger / ncmp / openapi.yaml
index b7a6563..b9eee56 100644 (file)
@@ -6,14 +6,21 @@ info:
 servers:
 - url: /ncmp
 paths:
-  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-operational:
+  /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}:
     get:
       tags:
       - network-cm-proxy
-      summary: Get resource data from pass-through operational for cm handle
-      description: Get resource data from pass-through operational for given cm handle
-      operationId: getResourceDataOperationalForCmHandle
+      summary: Get resource data for cm handle
+      description: Get resource data for given cm handle
+      operationId: getResourceDataForCmHandle
       parameters:
+      - name: ncmp-datastore-name
+        in: path
+        description: The type of the requested data
+        required: true
+        schema:
+          type: string
+          example: ncmp-datastore:operational
       - name: cm-handle
         in: path
         description: "The identifier for a network function, network element, subnetwork\
@@ -41,16 +48,6 @@ paths:
           sample 3:
             value:
               resourceIdentifier: "parent=shops,child=bookstore"
-      - name: Accept
-        in: header
-        description: "Accept parameter for response, if accept parameter is null,\
-          \ that means client can accept any format."
-        required: false
-        schema:
-          type: string
-          enum:
-          - application/json
-          - application/yang-data+json
       - name: options
         in: query
         description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
@@ -70,120 +67,24 @@ paths:
           sample 3:
             value:
               options: "(depth=2,fields=book/authors)"
-      responses:
-        "200":
-          description: OK
-          content:
-            application/json:
-              schema:
-                type: object
-              examples:
-                dataSampleResponse:
-                  $ref: '#/components/examples/dataSampleResponse'
-        "400":
-          description: Bad Request
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 400 BAD_REQUEST
-                message: Bad request error message
-                details: Bad request error details
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized error message
-                details: Unauthorized error details
-        "403":
-          description: Forbidden
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 403
-                message: Forbidden error message
-                details: Forbidden error details
-        "500":
-          description: Internal Server Error
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 500
-                message: Internal Server Error
-                details: Internal Server Error occurred
-  /v1/ch/{cm-handle}/data/ds/ncmp-datastore:passthrough-running:
-    get:
-      tags:
-      - network-cm-proxy
-      summary: Get resource data from pass-through running for cm handle
-      description: Get resource data from pass-through running for given cm handle
-      operationId: getResourceDataRunningForCmHandle
-      parameters:
-      - name: cm-handle
-        in: path
-        description: "The identifier for a network function, network element, subnetwork\
-          \ or any other cm object by managed Network CM Proxy"
-        required: true
-        schema:
-          type: string
-          example: my-cm-handle
-      - name: resourceIdentifier
+      - name: topic
         in: query
-        description: The format of resource identifier depend on the associated DMI
-          Plugin implementation. For ONAP DMI Plugin it will be RESTConf paths but
-          it can really be anything.
-        required: true
+        description: topic parameter in query.
+        required: false
         allowReserved: true
         schema:
           type: string
         examples:
           sample 1:
             value:
-              resourceIdentifier: \shops\bookstore
-          sample 2:
-            value:
-              resourceIdentifier: "\\shops\\bookstore\\categories[@code=1]"
-          sample 3:
-            value:
-              resourceIdentifier: "parent=shops,child=bookstore"
-      - name: Accept
-        in: header
-        description: "Accept parameter for response, if accept parameter is null,\
-          \ that means client can accept any format."
-        required: false
-        schema:
-          type: string
-          enum:
-          - application/json
-          - application/yang-data+json
-      - name: options
+              topic: my-topic-name
+      - name: include-descendants
         in: query
-        description: "options parameter in query, it is mandatory to wrap key(s)=value(s)\
-          \ in parenthesis'()'. The format of options parameter depend on the associated\
-          \ DMI Plugin implementation."
+        description: Determines if descendants are included in response
         required: false
-        allowReserved: true
         schema:
-          type: string
-        examples:
-          sample 1:
-            value:
-              options: (depth=3)
-          sample 2:
-            value:
-              options: (fields=book)
-          sample 3:
-            value:
-              options: "(depth=2,fields=book/authors)"
+          type: boolean
+          default: false
       responses:
         "200":
           description: OK
@@ -234,6 +135,17 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
     put:
       tags:
       - network-cm-proxy
@@ -242,6 +154,13 @@ paths:
         handle
       operationId: updateResourceDataRunningForCmHandle
       parameters:
+      - name: ncmp-datastore-name
+        in: path
+        description: The type of the requested data
+        required: true
+        schema:
+          type: string
+          example: ncmp-datastore:operational
       - name: cm-handle
         in: path
         description: "The identifier for a network function, network element, subnetwork\
@@ -340,6 +259,17 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
     post:
       tags:
       - network-cm-proxy
@@ -347,6 +277,13 @@ paths:
       description: create resource data from pass-through running for given cm handle
       operationId: createResourceDataRunningForCmHandle
       parameters:
+      - name: ncmp-datastore-name
+        in: path
+        description: The type of the requested data
+        required: true
+        schema:
+          type: string
+          example: ncmp-datastore:operational
       - name: cm-handle
         in: path
         description: "The identifier for a network function, network element, subnetwork\
@@ -442,6 +379,17 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
     delete:
       tags:
       - network-cm-proxy
@@ -449,6 +397,13 @@ paths:
       description: Delete resource data from pass-through running for a given cm handle
       operationId: deleteResourceDataRunningForCmHandle
       parameters:
+      - name: ncmp-datastore-name
+        in: path
+        description: The type of the requested data
+        required: true
+        schema:
+          type: string
+          example: ncmp-datastore:operational
       - name: cm-handle
         in: path
         description: "The identifier for a network function, network element, subnetwork\
@@ -539,6 +494,17 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
     patch:
       tags:
       - network-cm-proxy
@@ -547,6 +513,13 @@ paths:
         handle
       operationId: patchResourceDataRunningForCmHandle
       parameters:
+      - name: ncmp-datastore-name
+        in: path
+        description: The type of the requested data
+        required: true
+        schema:
+          type: string
+          example: ncmp-datastore:operational
       - name: cm-handle
         in: path
         description: "The identifier for a network function, network element, subnetwork\
@@ -639,6 +612,17 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
   /v1/ch/{cm-handle}/modules:
     get:
       tags:
@@ -664,7 +648,7 @@ paths:
               schema:
                 type: array
                 items:
-                  $ref: '#/components/schemas/ModuleReference'
+                  $ref: '#/components/schemas/RestModuleReference'
         "400":
           description: Bad Request
           content:
@@ -705,19 +689,95 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+  /v1/ch/{cm-handle}/modules/definitions:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: "Fetch all module definitions (name, revision, yang resource) for a\
+        \ given cm handle"
+      description: "Fetch all module definitions (name, revision, yang resource) for\
+        \ a given cm handle"
+      operationId: getModuleDefinitionsByCmHandleId
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+          example: my-cm-handle
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/RestModuleDefinition'
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 401
+                message: Unauthorized error message
+                details: Unauthorized error details
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 403
+                message: Forbidden error message
+                details: Forbidden error details
+        "500":
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
   /v1/ch/searches:
     post:
       tags:
       - network-cm-proxy
       summary: Execute cm handle search using the available conditions
-      description: Execute cm handle searches using 'hasAllModules' condition to get
-        all cm handles for the given module names
-      operationId: executeCmHandleSearch
+      description: Execute cm handle query search and return a list of cm handle details.
+        Any number of conditions can be applied. To be included in the result a cm-handle
+        must fulfill ALL the conditions. An empty collection will be returned in the
+        case that the cm handle does not match a condition. For more on cm handle
+        query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
+        handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
+        to query on any data related to the cm handle. For more on CPS Path please
+        refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
+        Path Read the Docs</a>. The cm handle ancestor is automatically returned for
+        this query.
+      operationId: searchCmHandles
       requestBody:
         content:
           application/json:
             schema:
-              $ref: '#/components/schemas/Conditions'
+              $ref: '#/components/schemas/CmHandleQueryParameters'
+            examples:
+              Cm handle properties query:
+                $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+              Cm handle modules query:
+                $ref: '#/components/examples/modulesCmHandleQueryParameters'
+              All cm handle query parameters:
+                $ref: '#/components/examples/allCmHandleQueryParameters'
+              Cm handle with CPS path state query:
+                $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+              Cm handle with data sync flag query:
+                $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
         required: true
       responses:
         "200":
@@ -725,7 +785,9 @@ paths:
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/CmHandles'
+                type: array
+                items:
+                  $ref: '#/components/schemas/RestOutputCmHandle'
         "400":
           description: Bad Request
           content:
@@ -809,6 +871,151 @@ paths:
                 status: 401
                 message: Unauthorized error message
                 details: Unauthorized error details
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400
+                message: Not found error message
+                details: Not found error details
+        "500":
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+  /v1/ch/{cm-handle}/properties:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Get CM handle properties
+      description: Get CM handle properties by cm handle id
+      operationId: getCmHandlePublicPropertiesByCmHandleId
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+          example: my-cm-handle
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/RestOutputCmHandlePublicProperties'
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400 BAD_REQUEST
+                message: Bad request error message
+                details: Bad request error details
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 401
+                message: Unauthorized error message
+                details: Unauthorized error details
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400
+                message: Not found error message
+                details: Not found error details
+        "500":
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+  /v1/ch/id-searches:
+    post:
+      tags:
+      - network-cm-proxy
+      summary: Execute cm handle query upon a given set of query parameters
+      description: Execute cm handle query search and return a list of cm handle ids.
+        Any number of conditions can be applied. To be included in the result a cm-handle
+        must fulfill ALL the conditions. An empty collection will be returned in the
+        case that the cm handle does not match a condition. For more on cm handle
+        query search please refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/ncmp-cmhandle-querying.html">cm
+        handle query search Read the Docs</a>.<br/>By supplying a CPS Path it is possible
+        to query on any data related to the cm handle. For more on CPS Path please
+        refer to <a href="https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html">CPS
+        Path Read the Docs</a>. The cm handle ancestor is automatically returned for
+        this query.
+      operationId: searchCmHandleIds
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/CmHandleQueryParameters'
+            examples:
+              Cm handle properties query:
+                $ref: '#/components/examples/pubPropCmHandleQueryParameters'
+              Cm handle modules query:
+                $ref: '#/components/examples/modulesCmHandleQueryParameters'
+              All cm handle query parameters:
+                $ref: '#/components/examples/allCmHandleQueryParameters'
+              Cm handle with CPS path state query:
+                $ref: '#/components/examples/cpsPathCmHandleStateQueryParameters'
+              Cm handle with data sync flag query:
+                $ref: '#/components/examples/cpsPathCmHandleDataSyncQueryParameters'
+        required: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  type: string
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400 BAD_REQUEST
+                message: Bad request error message
+                details: Bad request error details
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 401
+                message: Unauthorized error message
+                details: Unauthorized error details
         "403":
           description: Forbidden
           content:
@@ -839,7 +1046,157 @@ paths:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
+  /v1/ch/{cm-handle}/state:
+    get:
+      tags:
+      - network-cm-proxy
+      summary: Get CM handle state
+      description: Get CM handle state by cm handle id
+      operationId: getCmHandleStateByCmHandleId
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+          example: my-cm-handle
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/RestOutputCmHandleCompositeState'
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400 BAD_REQUEST
+                message: Bad request error message
+                details: Bad request error details
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 401
+                message: Unauthorized error message
+                details: Unauthorized error details
+        "404":
+          description: The specified resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400
+                message: Not found error message
+                details: Not found error details
+        "500":
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+  /v1/ch/{cm-handle}/data-sync:
+    put:
+      tags:
+      - network-cm-proxy
+      summary: Set the Data Sync Enabled Flag
+      description: Set the data sync enabled flag to true or false for a specified
+        Cm-Handle. This will in turn set the data sync state to UNSYNCHRONIZED and
+        NONE_REQUESTED respectfully.
+      operationId: setDataSyncEnabledFlagForCmHandle
+      parameters:
+      - name: cm-handle
+        in: path
+        description: "The identifier for a network function, network element, subnetwork\
+          \ or any other cm object by managed Network CM Proxy"
+        required: true
+        schema:
+          type: string
+          example: my-cm-handle
+      - name: dataSyncEnabled
+        in: query
+        description: Is used to enable or disable the data synchronization flag
+        required: true
+        schema:
+          type: boolean
+          example: true
+      responses:
+        "200":
+          description: OK
+          content:
+            application/json:
+              schema:
+                type: object
+        "400":
+          description: Bad Request
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 400 BAD_REQUEST
+                message: Bad request error message
+                details: Bad request error details
+        "401":
+          description: Unauthorized
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 401
+                message: Unauthorized error message
+                details: Unauthorized error details
+        "403":
+          description: Forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 403
+                message: Forbidden error message
+                details: Forbidden error details
+        "500":
+          description: Internal Server Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+        "502":
+          description: Bad Gateway
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DmiErrorMessage'
+              example:
+                message: Bad Gateway Error Message NCMP
+                dmi-response:
+                  http-code: 400
+                  body: Bad Request
 components:
+  securitySchemes:
+    basicAuth:
+      type: http
+      scheme: basic
   schemas:
     ErrorMessage:
       title: Error
@@ -851,7 +1208,16 @@ components:
           type: string
         details:
           type: string
-    ModuleReference:
+    DmiErrorMessage:
+      title: DMI Error Message
+      type: object
+      properties:
+        message:
+          type: string
+          example: Bad Gateway Error Message NCMP
+        dmi-response:
+          $ref: '#/components/schemas/DmiErrorMessage_dmiresponse'
+    RestModuleReference:
       title: Module reference details
       type: object
       properties:
@@ -861,45 +1227,59 @@ components:
         revision:
           type: string
           example: my-module-revision
-    Conditions:
+    RestModuleDefinition:
+      title: Module definitions
+      type: object
+      properties:
+        moduleName:
+          type: string
+          example: my-module-name
+        revision:
+          type: string
+          example: 2020-09-15T00:00:00.000+00:00
+        content:
+          type: string
+          example: "module stores {\n  yang-version 1.1;\n  namespace \"org:onap:ccsdk:sample\"\
+            ;\n  prefix book-store;\n  revision \"2020-09-15\" {\n    description\n\
+            \    \"Sample Model\";\n  }\n}\n"
+    CmHandleQueryParameters:
+      title: Cm Handle query parameters for executing cm handle search
       type: object
       properties:
+        cmHandleQueryParameters:
+          type: array
+          items:
+            $ref: '#/components/schemas/ConditionProperties'
         conditions:
-          $ref: '#/components/schemas/ConditionsData'
-    ConditionsData:
-      type: array
-      items:
-        $ref: '#/components/schemas/ConditionProperties'
+          type: array
+          description: "not necessary, it is just for backward compatibility"
+          deprecated: true
+          items:
+            $ref: '#/components/schemas/OldConditionProperties'
     ConditionProperties:
+      properties:
+        conditionName:
+          type: string
+        conditionParameters:
+          type: array
+          items:
+            type: object
+            additionalProperties:
+              type: string
+    OldConditionProperties:
       properties:
         name:
           type: string
-          example: hasAllModules
         conditionParameters:
-          $ref: '#/components/schemas/ModuleNamesAsJsonArray'
-    ModuleNamesAsJsonArray:
-      type: array
-      items:
-        $ref: '#/components/schemas/ModuleNameAsJsonObject'
+          type: array
+          items:
+            $ref: '#/components/schemas/ModuleNameAsJsonObject'
+      deprecated: true
     ModuleNameAsJsonObject:
       properties:
         moduleName:
           type: string
           example: my-module
-    CmHandles:
-      type: object
-      properties:
-        cmHandles:
-          $ref: '#/components/schemas/CmHandleProperties'
-    CmHandleProperties:
-      type: array
-      items:
-        $ref: '#/components/schemas/CmHandleProperty'
-    CmHandleProperty:
-      properties:
-        cmHandleId:
-          type: string
-          example: my-cm-handle-id
     RestOutputCmHandle:
       title: CM handle Details
       type: object
@@ -909,6 +1289,8 @@ components:
           example: my-cm-handle1
         publicCmHandleProperties:
           $ref: '#/components/schemas/CmHandlePublicProperties'
+        state:
+          $ref: '#/components/schemas/CmHandleCompositeState'
     CmHandlePublicProperties:
       type: array
       items:
@@ -916,6 +1298,66 @@ components:
         additionalProperties:
           type: string
           example: Book Type
+    CmHandleCompositeState:
+      type: object
+      properties:
+        cmHandleState:
+          type: string
+          example: ADVISED
+        lockReason:
+          $ref: '#/components/schemas/lock-reason'
+        lastUpdateTime:
+          type: string
+          example: 2022-12-31T20:30:40.000+0000
+        dataSyncEnabled:
+          type: boolean
+          example: false
+        dataSyncState:
+          $ref: '#/components/schemas/dataStores'
+    lock-reason:
+      type: object
+      properties:
+        reason:
+          type: string
+          example: LOCKED_MISBEHAVING
+        details:
+          type: string
+          example: locked due to failure in module sync
+    dataStores:
+      type: object
+      properties:
+        operational:
+          $ref: '#/components/schemas/sync-state'
+        running:
+          $ref: '#/components/schemas/sync-state'
+    sync-state:
+      type: object
+      properties:
+        syncState:
+          type: string
+          example: NONE_REQUESTED
+        lastSyncTime:
+          type: string
+          example: 2022-12-31T20:30:40.000+0000
+    RestOutputCmHandlePublicProperties:
+      type: object
+      properties:
+        publicCmHandleProperties:
+          $ref: '#/components/schemas/CmHandlePublicProperties'
+    RestOutputCmHandleCompositeState:
+      type: object
+      properties:
+        state:
+          $ref: '#/components/schemas/CmHandleCompositeState'
+    DmiErrorMessage_dmiresponse:
+      type: object
+      properties:
+        http-code:
+          type: integer
+          example: 400
+        body:
+          type: string
+          example: Bad Request
   examples:
     dataSampleResponse:
       summary: Sample response
@@ -995,3 +1437,50 @@ components:
                   books:
                   - authors:
                     - Philip Pullman
+    pubPropCmHandleQueryParameters:
+      value:
+        cmHandleQueryParameters:
+        - conditionName: hasAllProperties
+          conditionParameters:
+          - Color: yellow
+          - Shape: circle
+          - Size: small
+    modulesCmHandleQueryParameters:
+      value:
+        cmHandleQueryParameters:
+        - conditionName: hasAllModules
+          conditionParameters:
+          - moduleName: my-module-1
+          - moduleName: my-module-2
+          - moduleName: my-module-3
+    allCmHandleQueryParameters:
+      value:
+        cmHandleQueryParameters:
+        - conditionName: hasAllModules
+          conditionParameters:
+          - moduleName: my-module-1
+          - moduleName: my-module-2
+          - moduleName: my-module-3
+        - conditionName: hasAllProperties
+          conditionParameters:
+          - Color: yellow
+          - Shape: circle
+          - Size: small
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@cm-handle-state='ADVISED']"
+    cpsPathCmHandleStateQueryParameters:
+      value:
+        cmHandleQueryParameters:
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@cm-handle-state='LOCKED']"
+    cpsPathCmHandleDataSyncQueryParameters:
+      value:
+        cmHandleQueryParameters:
+        - conditionName: cmHandleWithCpsPath
+          conditionParameters:
+          - cpsPath: "//state[@data-sync-enabled='true']"
+
+security:
+  - basicAuth: []