blob: 2acd2b16414613e5c2e68ccfcfb9b2958bec6884 [file] [log] [blame]
openapi: 3.0.1
info:
title: CPS API
description: Configuration Persistence Service API
version: "1.0"
servers:
- url: //localhost:8088/
tags:
- name: cps-rest
description: cps Resource
paths:
/v1/dataspaces:
post:
tags:
- cps-admin
summary: 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:
application/json:
schema:
type: string
400:
description: Bad Request
content: { }
401:
description: Unauthorized
content: { }
403:
description: Forbidden
content: { }
/v1/dataspaces/{dataspace-name}/:
delete:
tags:
- cps-admin
summary: Delete the given dataspace
operationId: deleteDataspace
parameters:
- name: dataspace-name
in: path
description: dataspace-name
required: true
schema:
type: string
responses:
200:
description: OK
content:
application/json:
schema:
type: object
204:
description: No Content
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
/v1/dataspaces/{dataspace-name}/schema-sets/{schema-set-name}:
get:
tags:
- cps-admin
summary: Read a schema set given a schema set 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-name
required: true
schema:
type: string
responses:
200:
description: OK
content:
application/json:
schema:
type: object
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
/v1/dataspaces/{dataspace-name}/schema-sets:
post:
tags:
- cps-admin
summary: 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
requestBody:
required: true
content:
multipart/form-data:
schema:
required:
- schemaSetName
- multipartFile
properties:
schemaSetName:
type: string
multipartFile:
type: string
description: multipartFile
format: binary
responses:
201:
description: Created
content:
application/json:
schema:
type: string
401:
description: Unauthorized
content: { }
403:
description: Forbidden
content: { }
/v1/dataspaces/{dataspace-name}/anchors:
get:
tags:
- cps-admin
summary: 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: object
401:
description: Unauthorized
content: {}
400:
description: Bad Request
content: {}
403:
description: Forbidden
404:
description: Not Found
content: {}
204:
description: No Content
content: {}
post:
tags:
- cps-admin
summary: 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:
application/json:
schema:
type: string
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}:
get:
tags:
- cps-admin
summary: Read an anchor given a anchor 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:
type: object
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
delete:
tags:
- cps-admin
summary: Delete an anchor given a anchor 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:
200:
description: OK
content:
application/json:
schema:
type: object
204:
description: No Content
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/nodes:
get:
tags:
- cps-data
summary: Get a node given an anchor for the given 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
responses:
200:
description: OK
content:
application/json:
schema:
type: object
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
x-codegen-request-body-name: xpath
/v1/dataspaces/{dataspace-name}/nodes:
get:
tags:
- cps-data
summary: Get all nodes for a given dataspace using an xpath or schema node identifier
operationId: getNode
parameters:
- name: dataspace-name
in: path
description: dataspace-name
required: true
schema:
type: string
responses:
200:
description: OK
content:
application/json:
schema:
type: object
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
x-codegen-request-body-name: requestBody
post:
tags:
- cps-data
summary: Create a node for a given anchor for the given dataspace
operationId: createNode
parameters:
- name: dataspace-name
in: path
description: dataspace-name
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
required:
- file
properties:
multipartFile:
type: string
description: multipartFile
format: binary
required: true
responses:
200:
description: OK
content:
application/json:
schema:
type: object
201:
description: Created
content: {}
401:
description: Unauthorized
content: {}
403:
description: Forbidden
content: {}
404:
description: Not Found
content: {}
components:
schemas:
ErrorMessage:
type: object
title: Error
properties:
status:
type: string
message:
type: string
details:
type: string