openapi: 3.0.3
info:
  contact:
    email: onap-discuss@lists.onap.org
    name: ONAP
    url: https://onap.readthedocs.io
  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
  x-logo:
    url: cps_logo.png
servers:
- url: /cps/api
security:
- basicAuth: []
tags:
- description: cps Admin
  name: cps-admin
- description: cps Data
  name: cps-data
paths:
  /v1/dataspaces:
    post:
      deprecated: true
      description: Create a new dataspace
      operationId: createDataspace
      parameters:
      - description: dataspace-name
        in: query
        name: dataspace-name
        required: true
        schema:
          example: my-dataspace
          type: string
      responses:
        "201":
          content:
            text/plain:
              schema:
                example: my-resource
                type: string
          description: Created
        "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 dataspace
      tags:
      - cps-admin
  /{apiVersion}/dataspaces:
    delete:
      description: Delete a dataspace
      operationId: deleteDataspace
      parameters:
      - 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":
          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 dataspace
      tags:
      - cps-admin
  /v2/dataspaces:
    post:
      description: Create a new dataspace
      operationId: createDataspaceV2
      parameters:
      - description: dataspace-name
        in: query
        name: dataspace-name
        required: true
        schema:
          example: my-dataspace
          type: string
      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 dataspace
      tags:
      - cps-admin
  /{apiVersion}/admin/dataspaces:
    get:
      description: Read all dataspaces
      operationId: getAllDataspaces
      parameters:
      - description: apiVersion
        in: path
        name: apiVersion
        required: true
        schema:
          default: v2
          enum:
          - v1
          - v2
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DataspaceDetails'
                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 all dataspaces
      tags:
      - cps-admin
  /{apiVersion}/admin/dataspaces/{dataspace-name}:
    get:
      description: Read a dataspace given a dataspace name
      operationId: getDataspace
      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:
                $ref: '#/components/schemas/DataspaceDetails'
          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 dataspace
      tags:
      - cps-admin
  /v1/dataspaces/{dataspace-name}/anchors:
    post:
      deprecated: true
      description: Create a new anchor in the given dataspace
      operationId: createAnchor
      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
      - description: anchor-name
        in: query
        name: anchor-name
        required: true
        schema:
          example: my-anchor
          type: string
      responses:
        "201":
          content:
            text/plain:
              schema:
                example: my-resource
                type: string
          description: Created
        "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 an anchor
      tags:
      - cps-admin
  /v2/dataspaces/{dataspace-name}/anchors:
    post:
      description: Create a new anchor in the given dataspace
      operationId: createAnchorV2
      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
      - description: anchor-name
        in: query
        name: anchor-name
        required: true
        schema:
          example: my-anchor
          type: string
      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 an anchor
      tags:
      - cps-admin
  /{apiVersion}/dataspaces/{dataspace-name}/anchors:
    get:
      description: "Read all anchors, given a dataspace"
      operationId: getAnchors
      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/AnchorDetails'
                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 anchors
      tags:
      - cps-admin
  /{apiVersion}/dataspaces/{dataspace-name}/anchors/{anchor-name}:
    delete:
      description: Delete an anchor given an anchor name and a dataspace
      operationId: deleteAnchor
      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
      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 an anchor
      tags:
      - cps-admin
    get:
      description: Read an anchor given an anchor name and a dataspace
      operationId: getAnchor
      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
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnchorDetails'
          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 an anchor
      tags:
      - cps-admin
  /v1/dataspaces/{dataspace-name}/schema-sets:
    post:
      deprecated: true
      description: Create a new schema set in the given dataspace
      operationId: createSchemaSet
      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":
          content:
            text/plain:
              schema:
                example: my-resource
                type: string
          description: Created
        "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
  /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: 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":
          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: Replace a node with descendants
      tags:
      - cps-data
  /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:
      - 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: 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
      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 one or all list element(s)
      tags:
      - cps-data
  /{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:
      - 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: 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:
        "201":
          content:
            text/plain:
              schema:
                example: my-resource
                type: string
          description: Created
        "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: Add list element(s)
      tags:
      - cps-data
    put:
      description: "Replace list content under a given parent, anchor and dataspace"
      operationId: replaceListContent
      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: 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:
        "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: Replace list content
      tags:
      - cps-data
  /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/delta:
    get:
      description: Get delta between two anchors within a given dataspace
      operationId: getDeltaByDataspaceAndAnchors
      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: target-anchor-name
        in: query
        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]"
        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/deltaReportSample'
                  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 delta between anchors in the same dataspace
      tags:
      - cps-data
      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:
      - 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 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
      - 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: Query data nodes
      tags:
      - 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:
      - 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 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
      - 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: Query data nodes
      tags:
      - cps-query
      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:
      - description: dataspace-name
        in: path
        name: dataspace-name
        required: true
        schema:
          example: my-dataspace
          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
        name: cps-path
        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
      - 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":
          content:
            application/json:
              examples:
                dataSample:
                  $ref: '#/components/examples/dataSampleAcrossAnchors'
                  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: Query data nodes across anchors
      tags:
      - cps-query
      x-codegen-request-body-name: xpath
components:
  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:
      properties:
        status:
          type: string
        message:
          type: string
        details:
          type: string
      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
          type: string
        dataspaceName:
          example: my-dataspace
          type: string
        schemaSetName:
          example: my-schema-set
          type: string
      title: Anchor details by anchor Name
      type: object
    MultipartFile:
      properties:
        file:
          description: multipartFile
          format: binary
          type: string
      required:
      - 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:
          example: my-dataspace
          type: string
        moduleReferences:
          items:
            $ref: '#/components/schemas/ModuleReferences'
          type: array
        name:
          example: my-schema-set
          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:
          example: my-module-reference-name
          type: string
        namespace:
          example: my-module-reference-namespace
          type: string
        revision:
          example: my-module-reference-revision
          type: string
      title: Module reference object
      type: object
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http
