openapi: 3.0.1 info: title: ONAP Open API v3 Configuration Persistence Service description: Configuration Persistence Service is a Model Driven Generic Database contact: name: ONAP url: https://onap.readthedocs.io email: onap-discuss@lists.onap.org license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0 version: 1.0.0 x-planned-retirement-date: "202212" x-component: Modeling x-logo: url: cps_logo.png servers: - url: /cps/api tags: - name: cps-admin description: cps Admin - name: cps-data description: cps Data paths: /v1/dataspaces: post: tags: - cps-admin summary: Create a dataspace description: Create a new dataspace operationId: createDataspace parameters: - name: dataspace-name in: query description: dataspace-name required: true schema: type: string responses: "201": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/anchors: get: tags: - cps-admin summary: Get anchors description: "Read all anchors, given a dataspace" operationId: getAnchors parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AnchorDetails' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' post: tags: - cps-admin summary: Create an anchor description: Create a new anchor in the given dataspace operationId: createAnchor parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: schema-set-name in: query description: schema-set-name required: true schema: type: string - name: anchor-name in: query description: anchor-name required: true schema: type: string responses: "201": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}: get: tags: - cps-admin summary: Get an anchor description: Read an anchor given an anchor name and a dataspace operationId: getAnchor parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/AnchorDetails' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: tags: - cps-admin summary: Delete an anchor description: Delete an anchor given an anchor name and a dataspace operationId: deleteAnchor parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string responses: "204": description: No Content content: {} "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/schema-sets: post: tags: - cps-admin summary: Create a schema set description: Create a new schema set in the given dataspace operationId: createSchemaSet parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: schema-set-name in: query description: schema-set-name required: true schema: type: string requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/MultipartFile' required: true responses: "201": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}: get: tags: - cps-admin summary: Get a schema set description: Read a schema set given a schema set name and a dataspace operationId: getSchemaSet parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: schema-set-name in: path description: schema-set-name required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SchemaSetDetails' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: tags: - cps-admin summary: Delete a schema set description: Delete a schema set given a schema set name and a dataspace operationId: deleteSchemaSet parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: schema-set-name in: path description: schema-set-name required: true schema: type: string responses: "204": description: No Content content: {} "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "409": description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/node: get: 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 parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: false schema: type: string default: / - name: include-descendants in: query description: include-descendants required: false schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: object example: child: my_child leafList: "leafListElement1, leafListElement2" leaf: my_leaf "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' x-codegen-request-body-name: xpath /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes: put: 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 parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: false schema: type: string default: / - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 requestBody: content: application/json: schema: type: string required: true responses: "200": description: OK content: application/json: schema: type: object example: key: value "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' post: tags: - cps-data summary: Create a node description: Create a node for a given anchor and dataspace operationId: createNode parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: false schema: type: string default: / - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 requestBody: content: application/json: schema: type: string required: true responses: "201": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' patch: 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 parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: false schema: type: string default: / - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 requestBody: content: application/json: schema: type: string required: true responses: "200": description: OK content: application/json: schema: type: object example: key: value "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes: put: tags: - cps-data summary: Replace list-node child element(s) under existing parent node description: Replace list-node child elements under existing node for a given anchor and dataspace operationId: replaceListNodeElements parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: true schema: type: string - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 requestBody: content: application/json: schema: type: string required: true responses: "200": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' post: tags: - cps-data summary: Add list-node child element(s) under existing parent node description: Add list-node child elements to existing node for a given anchor and dataspace operationId: addListNodeElements parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: true schema: type: string - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 requestBody: content: application/json: schema: type: string required: true responses: "201": description: Created content: text/plain: schema: type: string "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' delete: tags: - cps-data summary: Delete list-node child element(s) under existing parent node description: Delete list-node child elements under existing node for a given anchor and dataspace operationId: deleteListNodeElements parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: xpath in: query description: xpath required: true schema: type: string - name: observed-timestamp in: query description: observed-timestamp required: false schema: type: string example: 2021-03-21T00:10:34.030-0100 responses: "204": description: No Content content: {} "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes/query: get: tags: - cps-query summary: Query data nodes description: Query data nodes for the given dataspace and anchor using CPS path operationId: getNodesByDataspaceAndAnchorAndCpsPath parameters: - name: dataspace-name in: path description: dataspace-name required: true schema: type: string - name: anchor-name in: path description: anchor-name required: true schema: type: string - name: cps-path in: query description: cps-path required: false schema: type: string default: / - name: include-descendants in: query description: include-descendants required: false schema: type: boolean default: false responses: "200": description: OK content: application/json: schema: type: object example: key: value "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "401": description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "403": description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' "404": description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' x-codegen-request-body-name: xpath components: schemas: ErrorMessage: title: Error type: object properties: status: type: string example: "400" message: type: string example: Dataspace not found details: type: string example: Dataspace with name D1 does not exist. AnchorDetails: title: Anchor details by anchor Name type: object properties: name: type: string example: my_anchor dataspaceName: type: string example: my_dataspace schemaSetName: type: string example: my_schema_set MultipartFile: required: - file type: object properties: file: type: string description: multipartFile format: binary SchemaSetDetails: title: Schema set details by dataspace and schemasetName type: object properties: dataspaceName: type: string example: my_dataspace moduleReferences: type: array items: $ref: '#/components/schemas/ModuleReferences' name: type: string example: my_schema_set ModuleReferences: title: Module reference object type: object properties: name: type: string example: module_reference_name namespace: type: string example: module_reference_namespace revision: type: string example: module_reference_revision