blob: a8c27e6fcc73f5c6296d88c7a780cd8ebcc3bf3c [file] [log] [blame]
Renu Kumari0938b002021-05-04 09:02:14 -04001openapi: 3.0.1
2info:
3 title: ONAP Open API v3 Configuration Persistence Service - Temporal
4 description: CPS-Temporal is time-series database for network data
5 version: 1.0.0
6 contact:
7 name: ONAP
8 url: 'https://onap.readthedocs.io'
9 email: onap-discuss@lists.onap.org
10 license:
11 name: Apache 2.0
12 url: 'http://www.apache.org/licenses/LICENSE-2.0'
13 x-planned-retirement-date: '202212'
14 x-component: Modeling
15servers:
16 - url: '//localhost:8088/cps-temporal/api'
17tags:
18 - name: cps-temporal-query
19 description: CPS Temporal Query
20paths:
21 '/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/history':
22 get:
23 description: 'Read the data for the specified anchor based on filter criteria provided in query parameters'
24 tags:
25 - cps-temporal-query
26 summary: Get anchor data by name
27 operationId: getAnchorDataByName
28 parameters:
29 - $ref: '#/components/parameters/dataspaceName'
30 - name: anchor-name
31 in: path
32 description: Anchor Name
33 required: true
34 schema:
35 type: string
36 - $ref: '#/components/parameters/after'
37 - $ref: '#/components/parameters/simplePayloadFilter'
38 - $ref: '#/components/parameters/pointInTime'
39 - $ref: '#/components/parameters/pageNumber'
40 - $ref: '#/components/parameters/pageLimit'
41 - $ref: '#/components/parameters/sort'
42 responses:
43 '200':
44 description: OK
45 content:
46 application/json:
47 schema:
48 $ref: '#/components/schemas/AnchorDataByNameResponse'
49 '400':
50 $ref: '#/components/responses/BadRequest'
51 '401':
52 $ref: '#/components/responses/Unauthorized'
53 '403':
54 $ref: '#/components/responses/Forbidden'
55 '/v1/dataspaces/{dataspace-name}/anchors/history':
56 get:
57 description: 'Read anchors data based on filter criteria provided in query parameters'
58 tags:
59 - cps-temporal-query
60 summary: Get anchors data based on filter criteria
61 operationId: getAnchorsDataByFilter
62 parameters:
63 - $ref: '#/components/parameters/dataspaceName'
64 - name: schemaset-name
65 in: query
66 description: Schema-set name
67 required: true
68 schema:
69 type: string
70 - $ref: '#/components/parameters/after'
71 - $ref: '#/components/parameters/simplePayloadFilter'
72 - $ref: '#/components/parameters/pointInTime'
73 - $ref: '#/components/parameters/pageNumber'
74 - $ref: '#/components/parameters/pageLimit'
75 - $ref: '#/components/parameters/sort'
76 responses:
77 '200':
78 description: OK
79 content:
80 application/json:
81 schema:
82 $ref: '#/components/schemas/AnchorsDataByFilterResponse'
83 '400':
84 $ref: '#/components/responses/BadRequest'
85 '401':
86 $ref: '#/components/responses/Unauthorized'
87 '403':
88 $ref: '#/components/responses/Forbidden'
89components:
90 parameters:
91 dataspaceName:
92 name: dataspace-name
93 in: path
94 description: Dataspace Name
95 required: true
96 schema:
97 type: string
98 after:
99 name: after
100 in: query
101 description: Fetch data after <br/> Format - 'yyyy-MM-ddTHH:mm:ss.SSSZ'
102 required: false
103 schema:
104 type: string
105 example: '2021-03-21T00:00:00.000000-0:00'
106 simplePayloadFilter:
107 name: simplePayloadFilter
108 in: query
109 description: Payload filter
110 required: false
111 schema:
112 type: string
113 pointInTime:
114 name: pointInTime
115 in: query
116 description: Consider data modified before <br/> Format - 'yyyy-MM-ddTHH:mm:ss.SSSZ'
117 required: false
118 schema:
119 type: string
120 example: '2021-03-21T00:00:00.000000-0:00'
121 pageLimit:
122 in: query
123 name: pageLimit
124 required: false
125 schema:
126 type: integer
127 minimum: 0
128 maximum: 10000
129 default: 1000
130 description: The numbers of items to return
131 pageNumber:
132 name: pageNumber
133 in: query
134 description: Page number
135 required: false
136 schema:
137 type: integer
138 minimum: 0
139 default: 0
140 sort:
141 in: query
142 name: sort
143 required: false
144 schema:
145 type: string
146 default: timestamp:desc
147 description: "Sort by timestamp in 'asc' or 'desc' order. Supported values: <br/> timestamp:desc<br/>timestamp:asc"
148 responses:
149 BadRequest:
150 description: Bad Request
151 content:
152 application/json:
153 schema:
154 $ref: '#/components/schemas/ErrorMessage'
155 Unauthorized:
156 description: Unauthorized
157 content:
158 application/json:
159 schema:
160 $ref: '#/components/schemas/ErrorMessage'
161 Forbidden:
162 description: Forbidden
163 content:
164 application/json:
165 schema:
166 $ref: '#/components/schemas/ErrorMessage'
167 schemas:
168 AnchorHistory:
169 type: object
170 title: AnchorHistory
171 properties:
172 nextRecordsLink:
173 type: string
174 example: /v1/dataspace/dataspace-name/anchors/history?pageLimit=20&pageNumber=2
175 previousRecordsLink:
176 type: string
177 example: /v1/dataspace/dataspace-name/anchors/history?pageLimit=20&pageNumber=0
178 records:
179 type: array
180 items:
181 type: object
182 properties:
183 timestamp:
184 type: string
185 format: date-time
186 example: '2021-03-21T00:00:00.000000-0:00'
187 dataspace:
188 type: string
189 example: 'my-dataspace'
190 schemaSet:
191 type: string
192 example: 'my-schema-set'
193 anchor:
194 type: string
195 example: 'my-anchor'
196 data:
197 type: object
198 example: { "status" : "UP" }
199 required:
200 - records
201
202 AnchorsDataByFilterResponse:
203 allOf: # Combines the BasicErrorModel and the inline model
204 - $ref: '#/components/schemas/AnchorHistory'
205 - title: getAnchorDataByNameResponse
206 properties:
207 nextRecordsLink:
208 type: string
209 example: /v1/dataspace/my-dataspace/anchors/history?pageLimit=20&pageNumber=2
210 previousRecordsLink:
211 type: string
212 example: /v1/dataspace/my-dataspace/anchors/history?pageLimit=20&pageNumber=0
213
214 AnchorDataByNameResponse:
215 allOf: # Combines the BasicErrorModel and the inline model
216 - $ref: '#/components/schemas/AnchorHistory'
217 - title: getAnchorDataByNameResponse
218 properties:
219 nextRecordsLink:
220 type: string
221 example: /v1/dataspace/my-dataspace/anchors/my-anchor/history?pageLimit=20&pageNumber=2
222 previousRecordsLink:
223 type: string
224 example: /v1/dataspace/my-dataspace/anchors/my-anchor/history?pageLimit=20&pageNumber=0
225
226 ErrorMessage:
227 type: object
228 title: Error
229 properties:
230 status:
231 type: string
232 example: 400
233 message:
234 type: string
235 example: Data could not be fetched
236 details:
237 type: string
238 example: "after parameter should have datetime value in ISO format yyyy-MM-ddTHH:mm:ss.SSSZ"