Remove Http Status 401 for cps core and NCMP(CPS-2126 #3)
[cps.git] / cps-rest / docs / openapi / cpsData.yml
index 15f8a1c..b9d2e59 100644 (file)
@@ -1,5 +1,8 @@
 # ============LICENSE_START=======================================================
-# Copyright (c) 2021 Bell Canada.
+# Copyright (c) 2021-2022 Bell Canada.
+# Modifications Copyright (C) 2021-2022 Nordix Foundation
+# Modifications Copyright (C) 2022-2023 TechMahindra Ltd.
+# Modifications Copyright (C) 2022 Deutsche Telekom AG
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 
-nodeByDataspaceAndAnchor:
-  get:
-    description: Get a node with an option to retrieve all the children for a given anchor and dataspace
-    tags:
-      - cps-data
-    summary: Get a node
-    operationId: getNodeByDataspaceAndAnchor
-    parameters:
-      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
-      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
-      - $ref: 'components.yml#/components/parameters/xpathInQuery'
-      - $ref: 'components.yml#/components/parameters/includeDescendantsOptionInQuery'
-    responses:
-      '200':
-        description: OK
-        content:
-          application/json:
-            schema:
-              type: object
-            examples:
-              dataSampleResponse:
-                $ref: 'components.yml#/components/examples/dataSampleResponse'
-      '400':
-        $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
-      '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
-      '404':
-        $ref: 'components.yml#/components/responses/NotFound'
-    x-codegen-request-body-name: xpath
-
 listElementByDataspaceAndAnchor:
   post:
     description: Add list element(s) to a list for a given anchor and dataspace
@@ -56,6 +27,7 @@ listElementByDataspaceAndAnchor:
     summary: Add list element(s)
     operationId: addListElements
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
@@ -67,18 +39,17 @@ listElementByDataspaceAndAnchor:
           schema:
             type: object
           examples:
-            dataSampleRequest:
-              $ref: 'components.yml#/components/examples/dataSampleRequest'
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   put:
     description: Replace list content under a given parent, anchor and dataspace
     tags:
@@ -86,6 +57,7 @@ listElementByDataspaceAndAnchor:
     summary: Replace list content
     operationId: replaceListContent
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
@@ -97,39 +69,17 @@ listElementByDataspaceAndAnchor:
           schema:
             type: object
           examples:
-            dataSampleRequest:
-              $ref: 'components.yml#/components/examples/dataSampleRequest'
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
         $ref: 'components.yml#/components/responses/Ok'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
-      '403':
-        $ref: 'components.yml#/components/responses/Forbidden'
-
-  delete:
-    description: Delete one or all list element(s) for a given anchor and dataspace
-    deprecated: true
-    tags:
-      - cps-data
-    summary: Delete one or all list element(s)
-    operationId: deleteListOrListElement
-    parameters:
-      - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
-      - $ref: 'components.yml#/components/parameters/anchorNameInPath'
-      - $ref: 'components.yml#/components/parameters/requiredXpathInQuery'
-      - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
-    responses:
-      '204':
-        $ref: 'components.yml#/components/responses/NoContent'
-      '400':
-        $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
 
 nodesByDataspaceAndAnchor:
   post:
@@ -139,36 +89,50 @@ nodesByDataspaceAndAnchor:
     summary: Create a node
     operationId: createNode
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/xpathInQuery'
       - $ref: 'components.yml#/components/parameters/observedTimestampInQuery'
+      - $ref: 'components.yml#/components/parameters/contentTypeHeader'
     requestBody:
       required: true
       content:
         application/json:
           schema:
-            type: object
+            type: string
           examples:
-            dataSampleRequest:
-              $ref: 'components.yml#/components/examples/dataSampleRequest'
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
+        application/xml:
+          schema:
+            type: object   # Workaround to show example
+            xml:
+              name: stores
+          examples:
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSampleXml'
+
     responses:
       '201':
         $ref: 'components.yml#/components/responses/Created'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '409':
+        $ref: 'components.yml#/components/responses/Conflict'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   patch:
-    description: Update a data node leaves for a given dataspace and anchor and a parent node xpath
+    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.
     tags:
       - cps-data
     summary: Update node leaves
     operationId: updateNodeLeaves
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/xpathInQuery'
@@ -180,18 +144,17 @@ nodesByDataspaceAndAnchor:
           schema:
             type: object
           examples:
-            dataSampleRequest:
-              $ref: 'components.yml#/components/examples/dataSampleRequest'
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
         $ref: 'components.yml#/components/responses/Ok'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   delete:
     description: Delete a datanode for a given dataspace and anchor given a node xpath.
     tags:
@@ -199,6 +162,7 @@ nodesByDataspaceAndAnchor:
     summary: Delete a data node
     operationId: deleteDataNode
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/xpathInQuery'
@@ -208,12 +172,10 @@ nodesByDataspaceAndAnchor:
         $ref: 'components.yml#/components/responses/NoContent'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
-
-
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'
   put:
     description: Replace a node with descendants for a given dataspace, anchor and a parent node xpath
     tags:
@@ -221,6 +183,7 @@ nodesByDataspaceAndAnchor:
     summary: Replace a node with descendants
     operationId: replaceNode
     parameters:
+      - $ref: 'components.yml#/components/parameters/apiVersionInPath'
       - $ref: 'components.yml#/components/parameters/dataspaceNameInPath'
       - $ref: 'components.yml#/components/parameters/anchorNameInPath'
       - $ref: 'components.yml#/components/parameters/xpathInQuery'
@@ -232,14 +195,14 @@ nodesByDataspaceAndAnchor:
           schema:
             type: object
           examples:
-            dataSampleRequest:
-              $ref: 'components.yml#/components/examples/dataSampleRequest'
+            dataSample:
+              $ref: 'components.yml#/components/examples/dataSample'
     responses:
       '200':
         $ref: 'components.yml#/components/responses/Ok'
       '400':
         $ref: 'components.yml#/components/responses/BadRequest'
-      '401':
-        $ref: 'components.yml#/components/responses/Unauthorized'
       '403':
         $ref: 'components.yml#/components/responses/Forbidden'
+      '500':
+        $ref: 'components.yml#/components/responses/InternalServerError'