Release notes added for 3.4.6
[cps.git] / docs / api / swagger / cps / openapi.yaml
index e8f13d4..2798b78 100644 (file)
@@ -1,14 +1,14 @@
-openapi: 3.0.1
+openapi: 3.0.3
 info:
-  title: ONAP Open API v3 Configuration Persistence Service
-  description: Configuration Persistence Service is a Model Driven Generic Database
   contact:
+    email: onap-discuss@lists.onap.org
     name: ONAP
     url: https://onap.readthedocs.io
-    email: onap-discuss@lists.onap.org
+  description: Configuration Persistence Service is a Model Driven Generic Database
   license:
     name: Apache 2.0
     url: http://www.apache.org/licenses/LICENSE-2.0
+  title: ONAP Open API v3 Configuration Persistence Service
   version: 1.0.0
   x-planned-retirement-date: "202212"
   x-component: Modeling
@@ -16,1535 +16,2522 @@ info:
     url: cps_logo.png
 servers:
 - url: /cps/api
+security:
+- basicAuth: []
 tags:
-- name: cps-admin
-  description: cps Admin
-- name: cps-data
-  description: cps Data
+- description: cps Admin
+  name: cps-admin
+- description: cps Data
+  name: cps-data
 paths:
   /v1/dataspaces:
     post:
-      tags:
-      - cps-admin
-      summary: Create a dataspace
+      deprecated: true
       description: Create a new dataspace
       operationId: createDataspace
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: query
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
+          type: string
       responses:
         "201":
-          description: Created
           content:
             text/plain:
               schema:
-                type: string
                 example: my-resource
+                type: string
+          description: Created
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "409":
-          description: Conflict
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 409
                 message: Conflicting request
                 details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
         "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
-    delete:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create a dataspace
       tags:
       - cps-admin
-      summary: Delete a dataspace
+  /{apiVersion}/dataspaces:
+    delete:
       description: Delete a dataspace
       operationId: deleteDataspace
       parameters:
-      - name: dataspace-name
-        in: query
-        description: dataspace-name
+      - description: apiVersion
+        in: path
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
+        required: true
+        schema:
           example: my-dataspace
+          type: string
       responses:
         "204":
-          description: No Content
           content: {}
+          description: No Content
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "409":
-          description: Conflict
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 409
                 message: Conflicting request
                 details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
         "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/dataspaces/{dataspace-name}/anchors:
-    get:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Delete a dataspace
       tags:
       - cps-admin
-      summary: Get anchors
-      description: "Read all anchors, given a dataspace"
-      operationId: getAnchors
+  /v2/dataspaces:
+    post:
+      description: Create a new dataspace
+      operationId: createDataspaceV2
       parameters:
-      - name: dataspace-name
-        in: path
-        description: dataspace-name
+      - description: dataspace-name
+        in: query
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
+          type: string
       responses:
-        "200":
-          description: OK
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/AnchorDetails'
+        "201":
+          description: Created without response body
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
-        "500":
-          description: Internal Server Error
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "409":
           content:
             application/json:
+              example:
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
               example:
                 status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
-    post:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create a dataspace
       tags:
       - cps-admin
-      summary: Create an anchor
-      description: Create a new anchor in the given dataspace
-      operationId: createAnchor
+  /{apiVersion}/admin/dataspaces:
+    get:
+      description: Read all dataspaces
+      operationId: getAllDataspaces
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
-        required: true
-        schema:
-          type: string
-          example: my-dataspace
-      - name: schema-set-name
-        in: query
-        description: schema-set-name
-        required: true
-        schema:
-          type: string
-          example: my-schema-set
-      - name: anchor-name
-        in: query
-        description: anchor-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-anchor
       responses:
-        "201":
-          description: Created
+        "200":
           content:
-            text/plain:
+            application/json:
               schema:
-                type: string
-                example: my-resource
+                items:
+                  $ref: '#/components/schemas/DataspaceDetails'
+                type: array
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
-        "409":
-          description: Conflict
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 409
-                message: Conflicting request
-                details: The request cannot be processed as the resource is in use.
+          description: Forbidden
         "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/dataspaces/{dataspace-name}/anchors/{anchor-name}:
-    get:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get all dataspaces
       tags:
       - cps-admin
-      summary: Get an anchor
-      description: Read an anchor given an anchor name and a dataspace
-      operationId: getAnchor
+  /{apiVersion}/admin/dataspaces/{dataspace-name}:
+    get:
+      description: Read a dataspace given a dataspace name
+      operationId: getDataspace
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-dataspace
-      - name: anchor-name
+      - description: dataspace-name
         in: path
-        description: anchor-name
+        name: dataspace-name
         required: true
         schema:
+          example: my-dataspace
           type: string
-          example: my-anchor
       responses:
         "200":
-          description: OK
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/AnchorDetails'
+                $ref: '#/components/schemas/DataspaceDetails'
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    delete:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get a dataspace
       tags:
       - cps-admin
-      summary: Delete an anchor
-      description: Delete an anchor given an anchor name and a dataspace
-      operationId: deleteAnchor
+  /v1/dataspaces/{dataspace-name}/anchors:
+    post:
+      deprecated: true
+      description: Create a new anchor in the given dataspace
+      operationId: createAnchor
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
-        in: path
-        description: anchor-name
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
         required: true
         schema:
+          example: my-schema-set
           type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
+        required: true
+        schema:
           example: my-anchor
+          type: string
       responses:
-        "204":
-          description: No Content
-          content: {}
+        "201":
+          content:
+            text/plain:
+              schema:
+                example: my-resource
+                type: string
+          description: Created
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
-        "500":
-          description: Internal Server Error
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "409":
+          content:
+            application/json:
               example:
-                status: 500
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
                 message: Internal Server Error
                 details: Internal Server Error occurred
-  /v1/dataspaces/{dataspace-name}/schema-sets:
-    post:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create an anchor
       tags:
       - cps-admin
-      summary: Create a schema set
-      description: Create a new schema set in the given dataspace
-      operationId: createSchemaSet
+  /v2/dataspaces/{dataspace-name}/anchors:
+    post:
+      description: Create a new anchor in the given dataspace
+      operationId: createAnchorV2
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: schema-set-name
+          type: string
+      - description: schema-set-name
         in: query
-        description: schema-set-name
+        name: schema-set-name
         required: true
         schema:
-          type: string
           example: my-schema-set
-      requestBody:
-        content:
-          multipart/form-data:
-            schema:
-              $ref: '#/components/schemas/MultipartFile'
+          type: string
+      - description: anchor-name
+        in: query
+        name: anchor-name
         required: true
+        schema:
+          example: my-anchor
+          type: string
       responses:
         "201":
-          description: Created
-          content:
-            text/plain:
-              schema:
-                type: string
-                example: my-resource
+          description: Created without response body
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "409":
-          description: Conflict
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 409
                 message: Conflicting request
                 details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
         "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/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
-    get:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create an anchor
       tags:
       - cps-admin
-      summary: Get a schema set
-      description: Read a schema set given a schema set name and a dataspace
-      operationId: getSchemaSet
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors:
+    get:
+      description: "Read all anchors, given a dataspace"
+      operationId: getAnchors
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-dataspace
-      - name: schema-set-name
+      - description: dataspace-name
         in: path
-        description: schema-set-name
+        name: dataspace-name
         required: true
         schema:
+          example: my-dataspace
           type: string
-          example: my-schema-set
       responses:
         "200":
-          description: OK
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/SchemaSetDetails'
+                items:
+                  $ref: '#/components/schemas/AnchorDetails'
+                type: array
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    delete:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get anchors
       tags:
       - cps-admin
-      summary: Delete a schema set
-      description: Delete a schema set given a schema set name and a dataspace
-      operationId: deleteSchemaSet
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}:
+    delete:
+      description: Delete an anchor given an anchor name and a dataspace
+      operationId: deleteAnchor
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
           example: my-dataspace
-      - name: schema-set-name
+          type: string
+      - description: anchor-name
         in: path
-        description: schema-set-name
+        name: anchor-name
         required: true
         schema:
+          example: my-anchor
           type: string
-          example: my-schema-set
       responses:
         "204":
-          description: No Content
           content: {}
+          description: No Content
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
-        "409":
-          description: Conflict
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 409
-                message: Conflicting request
-                details: The request cannot be processed as the resource is in use.
+          description: Forbidden
         "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/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
-    get:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Delete an anchor
       tags:
-      - cps-data
-      summary: Get a node
-      description: Get a node with an option to retrieve all the children for a given
-        anchor and dataspace
-      operationId: getNodeByDataspaceAndAnchor
+      - cps-admin
+    get:
+      description: Read an anchor given an anchor name and a dataspace
+      operationId: getAnchor
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-dataspace
-      - name: anchor-name
+      - description: dataspace-name
         in: path
-        description: anchor-name
+        name: dataspace-name
         required: true
         schema:
+          example: my-dataspace
           type: string
-          example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
         schema:
+          example: my-anchor
           type: string
-          default: /
-        examples:
-          container xpath:
-            value: /shops/bookstore
-          list attributes xpath:
-            value: "/shops/bookstore/categories[@code=1]"
-      - name: include-descendants
-        in: query
-        description: include-descendants
-        required: false
-        schema:
-          type: boolean
-          example: false
-          default: false
       responses:
         "200":
-          description: OK
           content:
             application/json:
               schema:
-                type: object
-              examples:
-                dataSample:
-                  $ref: '#/components/examples/dataSample'
+                $ref: '#/components/schemas/AnchorDetails'
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-      x-codegen-request-body-name: xpath
-  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
-    put:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get an anchor
       tags:
-      - cps-data
-      summary: Replace a node with descendants
-      description: "Replace a node with descendants for a given dataspace, anchor\
-        \ and a parent node xpath"
-      operationId: replaceNode
+      - cps-admin
+  /v1/dataspaces/{dataspace-name}/schema-sets:
+    post:
+      deprecated: true
+      description: Create a new schema set in the given dataspace
+      operationId: createSchemaSet
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
-        in: path
-        description: anchor-name
-        required: true
-        schema:
-          type: string
-          example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
-        schema:
           type: string
-          default: /
-        examples:
-          container xpath:
-            value: /shops/bookstore
-          list attributes xpath:
-            value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
+      - description: schema-set-name
         in: query
-        description: observed-timestamp
-        required: false
+        name: schema-set-name
+        required: true
         schema:
+          example: my-schema-set
           type: string
-          example: 2021-03-21T00:10:34.030-0100
       requestBody:
         content:
-          application/json:
+          multipart/form-data:
             schema:
-              type: object
-            examples:
-              dataSample:
-                $ref: '#/components/examples/dataSample'
+              $ref: '#/components/schemas/MultipartFile'
         required: true
       responses:
-        "200":
-          description: OK
+        "201":
           content:
-            application/json:
+            text/plain:
               schema:
-                type: object
-              examples:
-                dataSample:
-                  value: ""
+                example: my-resource
+                type: string
+          description: Created
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "409":
+          content:
+            application/json:
+              example:
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create a schema set
+      tags:
+      - cps-admin
+  /v2/dataspaces/{dataspace-name}/schema-sets:
+    post:
+      description: Create a new schema set in the given dataspace
+      operationId: createSchemaSetV2
+      parameters:
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: query
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      requestBody:
+        content:
+          multipart/form-data:
+            schema:
+              $ref: '#/components/schemas/MultipartFile'
+        required: true
+      responses:
+        "201":
+          description: Created without response body
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "409":
+          content:
+            application/json:
+              example:
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create a schema set
+      tags:
+      - cps-admin
+  /{apiVersion}/dataspaces/{dataspace-name}/schema-sets:
+    get:
+      description: "Read all schema sets, given a dataspace"
+      operationId: getSchemaSets
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                items:
+                  $ref: '#/components/schemas/SchemaSetDetails'
+                type: array
+          description: OK
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get schema sets
+      tags:
+      - cps-admin
+  /{apiVersion}/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
+    delete:
+      description: Delete a schema set given a schema set name and a dataspace
+      operationId: deleteSchemaSet
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      responses:
+        "204":
+          content: {}
+          description: No Content
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "409":
+          content:
+            application/json:
+              example:
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Delete a schema set
+      tags:
+      - cps-admin
+    get:
+      description: Read a schema set given a schema set name and a dataspace
+      operationId: getSchemaSet
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: schema-set-name
+        in: path
+        name: schema-set-name
+        required: true
+        schema:
+          example: my-schema-set
+          type: string
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/SchemaSetDetails'
+          description: OK
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get a schema set
+      tags:
+      - cps-admin
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    get:
+      deprecated: true
+      description: Get a node with an option to retrieve all the children for a given
+        anchor and dataspace
+      operationId: getNodeByDataspaceAndAnchor
+      parameters:
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
+      responses:
+        "200":
+          content:
+            application/json:
+              examples:
+                dataSample:
+                  $ref: '#/components/examples/dataSample'
+                  value: null
+              schema:
+                type: object
+          description: OK
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get a node
+      tags:
+      - cps-data
+      x-codegen-request-body-name: xpath
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/node:
+    get:
+      description: Get a node with an option to retrieve all the children for a given
+        anchor and dataspace
+      operationId: getNodeByDataspaceAndAnchorV2
+      parameters:
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
+      responses:
+        "200":
+          content:
+            application/json:
+              examples:
+                dataSample:
+                  $ref: '#/components/examples/dataSample'
+                  value: null
+              schema:
+                type: object
+          description: OK
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get a node
+      tags:
+      - cps-data
+      x-codegen-request-body-name: xpath
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
+    delete:
+      description: Delete a datanode for a given dataspace and anchor given a node
+        xpath.
+      operationId: deleteDataNode
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      responses:
+        "204":
+          content: {}
+          description: No Content
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Delete a data node
+      tags:
+      - cps-data
+    patch:
+      description: Update a data node leaves for a given dataspace and anchor and
+        a parent node xpath. This operation is currently supported for one top level
+        data node only.
+      operationId: updateNodeLeaves
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      requestBody:
+        content:
+          application/json:
+            examples:
+              dataSample:
+                $ref: '#/components/examples/dataSample'
+                value: null
+            schema:
+              type: object
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              examples:
+                dataSample:
+                  value: ""
+              schema:
+                type: object
+          description: OK
+        "400":
+          content:
+            application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
+        "500":
           content:
             application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Update node leaves
+      tags:
+      - cps-data
+    post:
+      description: Create a node for a given anchor and dataspace
+      operationId: createNode
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      - description: Content type header
+        in: header
+        name: Content-Type
+        required: true
+        schema:
+          example: application/json
+          type: string
+      requestBody:
+        content:
+          application/json:
+            examples:
+              dataSample:
+                $ref: '#/components/examples/dataSample'
+                value: null
+            schema:
+              type: string
+          application/xml:
+            examples:
+              dataSample:
+                $ref: '#/components/examples/dataSampleXml'
+                value: null
+            schema:
+              type: object
+              xml:
+                name: stores
+        required: true
+      responses:
+        "201":
+          content:
+            text/plain:
+              schema:
+                example: my-resource
+                type: string
+          description: Created
+        "400":
+          content:
+            application/json:
               example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
         "403":
+          content:
+            application/json:
+              example:
+                status: 403
+                message: Request Forbidden
+                details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
           description: Forbidden
+        "409":
+          content:
+            application/json:
+              example:
+                status: 409
+                message: Conflicting request
+                details: The request cannot be processed as the resource is in use.
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Conflict
+        "500":
+          content:
+            application/json:
+              example:
+                status: 500
+                message: Internal Server Error
+                details: Internal Server Error occurred
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Create a node
+      tags:
+      - cps-data
+    put:
+      description: "Replace a node with descendants for a given dataspace, anchor\
+        \ and a parent node xpath"
+      operationId: replaceNode
+      parameters:
+      - description: apiVersion
+        in: path
+        name: apiVersion
+        required: true
+        schema:
+          default: v2
+          enum:
+          - v1
+          - v2
+          type: string
+      - description: dataspace-name
+        in: path
+        name: dataspace-name
+        required: true
+        schema:
+          example: my-dataspace
+          type: string
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
+        schema:
+          example: my-anchor
+          type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+        examples:
+          container xpath:
+            value: /shops/bookstore
+          list attributes xpath:
+            value: "/shops/bookstore/categories[@code=1]"
+        in: query
+        name: xpath
+        required: false
+        schema:
+          default: /
+          type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
+          example: 2021-03-21T00:10:34.030-0100
+          type: string
+      requestBody:
+        content:
+          application/json:
+            examples:
+              dataSample:
+                $ref: '#/components/examples/dataSample'
+                value: null
+            schema:
+              type: object
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              examples:
+                dataSample:
+                  value: ""
+              schema:
+                type: object
+          description: OK
+        "400":
           content:
             application/json:
+              example:
+                status: 400
+                message: Bad Request
+                details: The provided request is not valid
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
+          description: Bad Request
+        "403":
+          content:
+            application/json:
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    post:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Replace a node with descendants
       tags:
       - cps-data
-      summary: Create a node
-      description: Create a node for a given anchor and dataspace
-      operationId: createNode
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    delete:
+      deprecated: true
+      description: Delete one or all list element(s) for a given anchor and dataspace
+      operationId: deleteListOrListElement
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
+          type: string
+      - description: anchor-name
         in: path
-        description: anchor-name
+        name: anchor-name
         required: true
         schema:
-          type: string
           example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
-        schema:
           type: string
-          default: /
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
         examples:
           container xpath:
             value: /shops/bookstore
           list attributes xpath:
             value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
         in: query
-        description: observed-timestamp
-        required: false
+        name: xpath
+        required: true
         schema:
           type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
           example: 2021-03-21T00:10:34.030-0100
-      requestBody:
-        content:
-          application/json:
-            schema:
-              type: object
-            examples:
-              dataSample:
-                $ref: '#/components/examples/dataSample'
-        required: true
+          type: string
       responses:
-        "201":
-          description: Created
-          content:
-            text/plain:
-              schema:
-                type: string
-                example: my-resource
+        "204":
+          content: {}
+          description: No Content
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
-        "409":
-          description: Conflict
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 409
-                message: Conflicting request
-                details: The request cannot be processed as the resource is in use.
+          description: Forbidden
         "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
-    delete:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Delete one or all list element(s)
       tags:
       - cps-data
-      summary: Delete a data node
-      description: Delete a datanode for a given dataspace and anchor given a node
-        xpath.
-      operationId: deleteDataNode
+  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
+    post:
+      description: Add list element(s) to a list for a given anchor and dataspace
+      operationId: addListElements
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-dataspace
-      - name: anchor-name
+      - description: dataspace-name
         in: path
-        description: anchor-name
+        name: dataspace-name
         required: true
         schema:
+          example: my-dataspace
           type: string
-          example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
         schema:
+          example: my-anchor
           type: string
-          default: /
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
         examples:
           container xpath:
             value: /shops/bookstore
           list attributes xpath:
             value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
         in: query
-        description: observed-timestamp
-        required: false
+        name: xpath
+        required: true
         schema:
           type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
           example: 2021-03-21T00:10:34.030-0100
+          type: string
+      requestBody:
+        content:
+          application/json:
+            examples:
+              dataSample:
+                $ref: '#/components/examples/dataSample'
+                value: null
+            schema:
+              type: object
+        required: true
       responses:
-        "204":
-          description: No Content
-          content: {}
+        "201":
+          content:
+            text/plain:
+              schema:
+                example: my-resource
+                type: string
+          description: Created
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    patch:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Add list element(s)
       tags:
       - cps-data
-      summary: Update node leaves
-      description: Update a data node leaves for a given dataspace and anchor and
-        a parent node xpath
-      operationId: updateNodeLeaves
+    put:
+      description: "Replace list content under a given parent, anchor and dataspace"
+      operationId: replaceListContent
       parameters:
-      - name: dataspace-name
+      - description: apiVersion
         in: path
-        description: dataspace-name
+        name: apiVersion
         required: true
         schema:
+          default: v2
+          enum:
+          - v1
+          - v2
           type: string
-          example: my-dataspace
-      - name: anchor-name
+      - description: dataspace-name
         in: path
-        description: anchor-name
+        name: dataspace-name
         required: true
         schema:
+          example: my-dataspace
           type: string
-          example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
+      - description: anchor-name
+        in: path
+        name: anchor-name
+        required: true
         schema:
+          example: my-anchor
           type: string
-          default: /
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
         examples:
           container xpath:
             value: /shops/bookstore
           list attributes xpath:
             value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
         in: query
-        description: observed-timestamp
-        required: false
+        name: xpath
+        required: true
         schema:
           type: string
+      - description: observed-timestamp
+        in: query
+        name: observed-timestamp
+        required: false
+        schema:
           example: 2021-03-21T00:10:34.030-0100
+          type: string
       requestBody:
         content:
           application/json:
-            schema:
-              type: object
             examples:
               dataSample:
                 $ref: '#/components/examples/dataSample'
+                value: null
+            schema:
+              type: object
         required: true
       responses:
         "200":
-          description: OK
           content:
             application/json:
-              schema:
-                type: object
               examples:
                 dataSample:
                   value: ""
+              schema:
+                type: object
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes:
-    put:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Replace list content
       tags:
       - cps-data
-      summary: Replace list content
-      description: "Replace list content under a given parent, anchor and dataspace"
-      operationId: replaceListContent
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/delta:
+    get:
+      description: Get delta between two anchors within a given dataspace
+      operationId: getDeltaByDataspaceAndAnchors
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
+          type: string
+      - description: anchor-name
         in: path
-        description: anchor-name
+        name: anchor-name
         required: true
         schema:
-          type: string
           example: my-anchor
-      - name: xpath
+          type: string
+      - description: target-anchor-name
         in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        name: target-anchor-name
         required: true
         schema:
+          example: my-anchor
           type: string
+      - description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
         examples:
           container xpath:
             value: /shops/bookstore
           list attributes xpath:
             value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
         in: query
-        description: observed-timestamp
+        name: xpath
         required: false
         schema:
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
           type: string
-          example: 2021-03-21T00:10:34.030-0100
-      requestBody:
-        content:
-          application/json:
-            schema:
-              type: object
-            examples:
-              dataSample:
-                $ref: '#/components/examples/dataSample'
-        required: true
       responses:
         "200":
-          description: OK
           content:
             application/json:
-              schema:
-                type: object
               examples:
                 dataSample:
-                  value: ""
+                  $ref: '#/components/examples/deltaReportSample'
+                  value: null
+              schema:
+                type: object
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    post:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Get delta between anchors in the same dataspace
       tags:
       - cps-data
-      summary: Add list element(s)
-      description: Add list element(s) to a list for a given anchor and dataspace
-      operationId: addListElements
+      x-codegen-request-body-name: xpath
+  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
+    get:
+      deprecated: true
+      description: Query data nodes for the given dataspace and anchor using CPS path
+      operationId: getNodesByDataspaceAndAnchorAndCpsPath
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
+          type: string
+      - description: anchor-name
         in: path
-        description: anchor-name
+        name: anchor-name
         required: true
         schema:
-          type: string
           example: my-anchor
-      - name: xpath
-        in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: true
-        schema:
           type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
         examples:
-          container xpath:
-            value: /shops/bookstore
-          list attributes xpath:
-            value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
         in: query
-        description: observed-timestamp
+        name: cps-path
         required: false
         schema:
+          default: /
           type: string
-          example: 2021-03-21T00:10:34.030-0100
-      requestBody:
-        content:
-          application/json:
-            schema:
-              type: object
-            examples:
-              dataSample:
-                $ref: '#/components/examples/dataSample'
-        required: true
+      - description: include-descendants
+        in: query
+        name: include-descendants
+        required: false
+        schema:
+          default: false
+          example: false
+          type: boolean
       responses:
-        "201":
-          description: Created
+        "200":
           content:
-            text/plain:
+            application/json:
+              examples:
+                dataSample:
+                  $ref: '#/components/examples/dataSample'
+                  value: null
               schema:
-                type: string
-                example: my-resource
+                type: object
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-    delete:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Query data nodes
       tags:
-      - cps-data
-      summary: Delete one or all list element(s)
-      description: Delete one or all list element(s) for a given anchor and dataspace
-      operationId: deleteListOrListElement
+      - cps-query
+      x-codegen-request-body-name: xpath
+  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
+    get:
+      description: Query data nodes for the given dataspace and anchor using CPS path
+      operationId: getNodesByDataspaceAndAnchorAndCpsPathV2
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
+          type: string
+      - description: anchor-name
         in: path
-        description: anchor-name
+        name: anchor-name
         required: true
         schema:
-          type: string
           example: my-anchor
-      - name: xpath
+          type: string
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+        examples:
+          container cps path:
+            value: //bookstore
+          list attributes cps path:
+            value: "//categories[@code=1]"
         in: query
-        description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: true
+        name: cps-path
+        required: false
         schema:
+          default: /
           type: string
-        examples:
-          container xpath:
-            value: /shops/bookstore
-          list attributes xpath:
-            value: "/shops/bookstore/categories[@code=1]"
-      - name: observed-timestamp
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
         in: query
-        description: observed-timestamp
+        name: descendants
         required: false
         schema:
+          default: none
+          example: "3"
           type: string
-          example: 2021-03-21T00:10:34.030-0100
       responses:
-        "204":
-          description: No Content
-          content: {}
-        "400":
-          description: Bad Request
+        "200":
           content:
             application/json:
+              examples:
+                dataSample:
+                  $ref: '#/components/examples/dataSample'
+                  value: null
               schema:
-                $ref: '#/components/schemas/ErrorMessage'
+                type: object
+          description: OK
+        "400":
+          content:
+            application/json:
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
-      deprecated: true
-  /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query:
-    get:
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Query data nodes
       tags:
       - cps-query
-      summary: Query data nodes
-      description: Query data nodes for the given dataspace and anchor using CPS path
-      operationId: getNodesByDataspaceAndAnchorAndCpsPath
+      x-codegen-request-body-name: xpath
+  /v2/dataspaces/{dataspace-name}/nodes/query:
+    get:
+      description: Query data nodes for the given dataspace across anchors using CPS
+        path
+      operationId: getNodesByDataspaceAndCpsPath
       parameters:
-      - name: dataspace-name
+      - description: dataspace-name
         in: path
-        description: dataspace-name
+        name: dataspace-name
         required: true
         schema:
-          type: string
           example: my-dataspace
-      - name: anchor-name
-        in: path
-        description: anchor-name
-        required: true
-        schema:
           type: string
-          example: my-anchor
-      - name: cps-path
-        in: query
-        description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
-        required: false
-        schema:
-          type: string
-          default: /
+      - description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
         examples:
           container cps path:
             value: //bookstore
           list attributes cps path:
             value: "//categories[@code=1]"
-      - name: include-descendants
         in: query
-        description: include-descendants
+        name: cps-path
         required: false
         schema:
-          type: boolean
-          example: false
-          default: false
+          default: /
+          type: string
+      - description: "Number of descendants to query. Allowed values are 'none', 'all',\
+          \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive\
+          \ number."
+        in: query
+        name: descendants
+        required: false
+        schema:
+          default: none
+          example: "3"
+          type: string
+      - description: page index for pagination over anchors. It must be greater then
+          zero if provided.
+        in: query
+        name: pageIndex
+        required: false
+        schema:
+          example: 1
+          type: integer
+      - description: number of records (anchors) per page. It must be greater then
+          zero if provided.
+        in: query
+        name: pageSize
+        required: false
+        schema:
+          example: 10
+          type: integer
       responses:
         "200":
-          description: OK
           content:
             application/json:
-              schema:
-                type: object
               examples:
                 dataSample:
-                  $ref: '#/components/examples/dataSample'
+                  $ref: '#/components/examples/dataSampleAcrossAnchors'
+                  value: null
+              schema:
+                type: object
+          description: OK
         "400":
-          description: Bad Request
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 400
                 message: Bad Request
                 details: The provided request is not valid
-        "401":
-          description: Unauthorized
-          content:
-            application/json:
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
-              example:
-                status: 401
-                message: Unauthorized request
-                details: This request is unauthorized
+          description: Bad Request
         "403":
-          description: Forbidden
           content:
             application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorMessage'
               example:
                 status: 403
                 message: Request Forbidden
                 details: This request is forbidden
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Forbidden
         "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
+              schema:
+                $ref: '#/components/schemas/ErrorMessage'
+          description: Internal Server Error
+      summary: Query data nodes across anchors
+      tags:
+      - cps-query
       x-codegen-request-body-name: xpath
 components:
-  securitySchemes:
-    basicAuth:
-      type: http
-      scheme: basic
+  examples:
+    dataSample:
+      value:
+        test:bookstore:
+          bookstore-name: Chapters
+          categories:
+          - code: 1
+            name: SciFi
+          - code: 2
+            name: kids
+    dataSampleXml:
+      value: <stores xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <bookstore xmlns="org:onap:ccsdk:sample">
+        <bookstore-name>Chapters</bookstore-name> <categories> <code>1</code> <name>SciFi</name>
+        </categories> </bookstore> </stores>
+    deltaReportSample:
+      value:
+      - action: ADD
+        xpath: "/bookstore/categories/[@code=3]"
+        target-data:
+          code: "3,"
+          name: kidz
+      - action: REMOVE
+        xpath: "/bookstore/categories/[@code=1]"
+        source-data:
+          code: "1,"
+          name: Fiction
+      - action: UPDATE
+        xpath: "/bookstore/categories/[@code=2]"
+        source-data:
+          name: Funny
+        target-data:
+          name: Comic
+    dataSampleAcrossAnchors:
+      value:
+      - anchorName: bookstore1
+        dataNode:
+          test:bookstore:
+            bookstore-name: Chapters
+            categories:
+            - code: 1
+              name: SciFi
+            - code: 2
+              name: kids
+      - anchorName: bookstore2
+        dataNode:
+          test:bookstore:
+            bookstore-name: Chapters
+            categories:
+            - code: 1
+              name: SciFi
+            - code: 2
+              name: kids
+  parameters:
+    dataspaceNameInQuery:
+      description: dataspace-name
+      in: query
+      name: dataspace-name
+      required: true
+      schema:
+        example: my-dataspace
+        type: string
+    apiVersionInPath:
+      description: apiVersion
+      in: path
+      name: apiVersion
+      required: true
+      schema:
+        default: v2
+        enum:
+        - v1
+        - v2
+        type: string
+    dataspaceNameInPath:
+      description: dataspace-name
+      in: path
+      name: dataspace-name
+      required: true
+      schema:
+        example: my-dataspace
+        type: string
+    schemaSetNameInQuery:
+      description: schema-set-name
+      in: query
+      name: schema-set-name
+      required: true
+      schema:
+        example: my-schema-set
+        type: string
+    anchorNameInQuery:
+      description: anchor-name
+      in: query
+      name: anchor-name
+      required: true
+      schema:
+        example: my-anchor
+        type: string
+    anchorNameInPath:
+      description: anchor-name
+      in: path
+      name: anchor-name
+      required: true
+      schema:
+        example: my-anchor
+        type: string
+    schemaSetNameInPath:
+      description: schema-set-name
+      in: path
+      name: schema-set-name
+      required: true
+      schema:
+        example: my-schema-set
+        type: string
+    xpathInQuery:
+      description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+      examples:
+        container xpath:
+          value: /shops/bookstore
+        list attributes xpath:
+          value: "/shops/bookstore/categories[@code=1]"
+      in: query
+      name: xpath
+      required: false
+      schema:
+        default: /
+        type: string
+    includeDescendantsOptionInQuery:
+      description: include-descendants
+      in: query
+      name: include-descendants
+      required: false
+      schema:
+        default: false
+        example: false
+        type: boolean
+    descendantsInQuery:
+      description: "Number of descendants to query. Allowed values are 'none', 'all',\
+        \ 'direct', 1 (for direct), -1 (for all), 0 (for none) and any positive number."
+      in: query
+      name: descendants
+      required: false
+      schema:
+        default: none
+        example: "3"
+        type: string
+    observedTimestampInQuery:
+      description: observed-timestamp
+      in: query
+      name: observed-timestamp
+      required: false
+      schema:
+        example: 2021-03-21T00:10:34.030-0100
+        type: string
+    contentTypeHeader:
+      description: Content type header
+      in: header
+      name: Content-Type
+      required: true
+      schema:
+        example: application/json
+        type: string
+    requiredXpathInQuery:
+      description: "For more details on xpath, please refer https://docs.onap.org/projects/onap-cps/en/latest/xpath.html"
+      examples:
+        container xpath:
+          value: /shops/bookstore
+        list attributes xpath:
+          value: "/shops/bookstore/categories[@code=1]"
+      in: query
+      name: xpath
+      required: true
+      schema:
+        type: string
+    targetAnchorNameInQuery:
+      description: target-anchor-name
+      in: query
+      name: target-anchor-name
+      required: true
+      schema:
+        example: my-anchor
+        type: string
+    cpsPathInQuery:
+      description: "For more details on cps path, please refer https://docs.onap.org/projects/onap-cps/en/latest/cps-path.html"
+      examples:
+        container cps path:
+          value: //bookstore
+        list attributes cps path:
+          value: "//categories[@code=1]"
+      in: query
+      name: cps-path
+      required: false
+      schema:
+        default: /
+        type: string
+    pageIndexInQuery:
+      description: page index for pagination over anchors. It must be greater then
+        zero if provided.
+      in: query
+      name: pageIndex
+      required: false
+      schema:
+        example: 1
+        type: integer
+    pageSizeInQuery:
+      description: number of records (anchors) per page. It must be greater then zero
+        if provided.
+      in: query
+      name: pageSize
+      required: false
+      schema:
+        example: 10
+        type: integer
+  responses:
+    Created:
+      content:
+        text/plain:
+          schema:
+            example: my-resource
+            type: string
+      description: Created
+    BadRequest:
+      content:
+        application/json:
+          example:
+            status: 400
+            message: Bad Request
+            details: The provided request is not valid
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+      description: Bad Request
+    Forbidden:
+      content:
+        application/json:
+          example:
+            status: 403
+            message: Request Forbidden
+            details: This request is forbidden
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+      description: Forbidden
+    Conflict:
+      content:
+        application/json:
+          example:
+            status: 409
+            message: Conflicting request
+            details: The request cannot be processed as the resource is in use.
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+      description: Conflict
+    InternalServerError:
+      content:
+        application/json:
+          example:
+            status: 500
+            message: Internal Server Error
+            details: Internal Server Error occurred
+          schema:
+            $ref: '#/components/schemas/ErrorMessage'
+      description: Internal Server Error
+    NoContent:
+      content: {}
+      description: No Content
+    CreatedV2:
+      description: Created without response body
+    Ok:
+      content:
+        application/json:
+          examples:
+            dataSample:
+              value: ""
+          schema:
+            type: object
+      description: OK
   schemas:
     ErrorMessage:
-      title: Error
-      type: object
       properties:
         status:
           type: string
@@ -1552,67 +2539,87 @@ components:
           type: string
         details:
           type: string
-    AnchorDetails:
-      title: Anchor details by anchor Name
+      title: Error
       type: object
+    DataspaceDetails:
+      example:
+        name: my-dataspace
       properties:
         name:
+          example: my-dataspace
           type: string
+      title: Dataspace details by dataspace Name
+      type: object
+    AnchorDetails:
+      example:
+        schemaSetName: my-schema-set
+        dataspaceName: my-dataspace
+        name: my-anchor
+      properties:
+        name:
           example: my-anchor
-        dataspaceName:
           type: string
+        dataspaceName:
           example: my-dataspace
-        schemaSetName:
           type: string
+        schemaSetName:
           example: my-schema-set
-    MultipartFile:
-      required:
-      - file
+          type: string
+      title: Anchor details by anchor Name
       type: object
+    MultipartFile:
       properties:
         file:
-          type: string
           description: multipartFile
           format: binary
-    SchemaSetDetails:
-      title: Schema set details by dataspace and schemasetName
+          type: string
       required:
-      - moduleReferences
+      - file
       type: object
+    SchemaSetDetails:
+      example:
+        dataspaceName: my-dataspace
+        name: my-schema-set
+        moduleReferences:
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
+        - name: my-module-reference-name
+          namespace: my-module-reference-namespace
+          revision: my-module-reference-revision
       properties:
         dataspaceName:
-          type: string
           example: my-dataspace
+          type: string
         moduleReferences:
-          type: array
           items:
             $ref: '#/components/schemas/ModuleReferences'
+          type: array
         name:
-          type: string
           example: my-schema-set
-    ModuleReferences:
-      title: Module reference object
+          type: string
+      required:
+      - moduleReferences
+      title: Schema set details by dataspace and schemasetName
       type: object
+    ModuleReferences:
+      example:
+        name: my-module-reference-name
+        namespace: my-module-reference-namespace
+        revision: my-module-reference-revision
       properties:
         name:
-          type: string
           example: my-module-reference-name
-        namespace:
           type: string
+        namespace:
           example: my-module-reference-namespace
-        revision:
           type: string
+        revision:
           example: my-module-reference-revision
-  examples:
-    dataSample:
-      value:
-        test:bookstore:
-          bookstore-name: Chapters
-          categories:
-          - code: 1
-            name: SciFi
-          - code: 2
-            name: kids
-
-security:
-  - basicAuth: []
\ No newline at end of file
+          type: string
+      title: Module reference object
+      type: object
+  securitySchemes:
+    basicAuth:
+      scheme: basic
+      type: http