a950790dbe24386d9abbbf260ec608cb7cb75c55
[sdc.git] / docs / swagger / swagger-sdce-6.json
1 {
2   "openapi" : "3.0.1",
3   "info" : {
4     "contact" : {
5       "email" : "onap-discuss@lists.onap.org",
6       "name" : "ONAP",
7       "url" : "https://onap.readthedocs.io"
8     },
9     "description" : "SDC API for distribution subscription (SDCE-6)",
10     "license" : {
11       "name" : "Apache 2.0",
12       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
13     },
14     "title" : "SPC API: SDCE-6",
15     "version" : "1.0"
16   },
17   "servers" : [ {
18     "description" : "SDCE-6 APIs",
19     "url" : "/sdc"
20   } ],
21   "paths" : {
22     "/v1/artifactTypes" : {
23       "get" : {
24         "description" : "Artifact types list",
25         "operationId" : "getValidArtifactTypes",
26         "parameters" : [ {
27           "description" : "X-ECOMP-RequestID header",
28           "in" : "header",
29           "name" : "X-ECOMP-RequestID",
30           "schema" : {
31             "type" : "string"
32           }
33         }, {
34           "description" : "X-ECOMP-InstanceID header",
35           "in" : "header",
36           "name" : "X-ECOMP-InstanceID",
37           "required" : true,
38           "schema" : {
39             "type" : "string"
40           }
41         }, {
42           "description" : "The username and password",
43           "in" : "header",
44           "name" : "Authorization",
45           "required" : true,
46           "schema" : {
47             "type" : "string"
48           }
49         }, {
50           "description" : "The username and password",
51           "in" : "header",
52           "name" : "Accept",
53           "required" : true,
54           "schema" : {
55             "type" : "string"
56           }
57         } ],
58         "responses" : {
59           "200" : {
60             "content" : {
61               "application/json" : {
62                 "schema" : {
63                   "type" : "array",
64                   "items" : {
65                     "type" : "string"
66                   }
67                 }
68               }
69             },
70             "description" : "Artifact types list fetched successfully"
71           },
72           "400" : {
73             "description" : "Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001"
74           },
75           "401" : {
76             "description" : "ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with its Basic Authentication credentials - POL5002"
77           },
78           "403" : {
79             "description" : "ECOMP component is not authorized - POL5003"
80           },
81           "405" : {
82             "description" : "Method  Not Allowed  :  Invalid HTTP method type used to  register for  distribution ( POST,PUT,DELETE  will be rejected) - POL4050"
83           },
84           "500" : {
85             "description" : "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component  should  continue the attempts to  register for  distribution - POL5000"
86           }
87         },
88         "servers" : [ {
89           "url" : "/sdc",
90           "variables" : { }
91         } ],
92         "summary" : "Fetches available artifact types list",
93         "tags" : [ "SDCE-6 APIs" ]
94       }
95     },
96     "/v1/distributionUebCluster" : {
97       "get" : {
98         "description" : "UEB Server List",
99         "operationId" : "getUebServerList",
100         "parameters" : [ {
101           "description" : "X-ECOMP-RequestID header",
102           "in" : "header",
103           "name" : "X-ECOMP-RequestID",
104           "schema" : {
105             "type" : "string"
106           }
107         }, {
108           "description" : "X-ECOMP-InstanceID header",
109           "in" : "header",
110           "name" : "X-ECOMP-InstanceID",
111           "required" : true,
112           "schema" : {
113             "type" : "string"
114           }
115         }, {
116           "description" : "Determines the format of the body of the response",
117           "in" : "header",
118           "name" : "Accept",
119           "schema" : {
120             "type" : "string"
121           }
122         }, {
123           "description" : "The username and password",
124           "in" : "header",
125           "name" : "Authorization",
126           "required" : true,
127           "schema" : {
128             "type" : "string"
129           }
130         } ],
131         "responses" : {
132           "200" : {
133             "content" : {
134               "application/json" : {
135                 "schema" : {
136                   "type" : "array",
137                   "items" : {
138                     "$ref" : "#/components/schemas/ServerListResponse"
139                   }
140                 }
141               }
142             },
143             "description" : "ECOMP component is authenticated and list of Cambria API server’s FQDNs is returned"
144           },
145           "400" : {
146             "description" : "Missing  'X-ECOMP-InstanceID'  HTTP header - POL5001"
147           },
148           "401" : {
149             "description" : "ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with its credentials  for  Basic Authentication - POL5002"
150           },
151           "403" : {
152             "description" : "ECOMP component is not authorized - POL5003"
153           },
154           "405" : {
155             "description" : "Method  Not Allowed: Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"
156           },
157           "500" : {
158             "description" : "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"
159           }
160         },
161         "servers" : [ {
162           "url" : "/sdc",
163           "variables" : { }
164         } ],
165         "summary" : "return the available UEB Server List",
166         "tags" : [ "SDCE-6 APIs" ]
167       }
168     },
169     "/v1/registerForDistribution" : {
170       "post" : {
171         "description" : "Subscription status",
172         "operationId" : "registerForDistribution",
173         "parameters" : [ {
174           "description" : "X-ECOMP-RequestID header",
175           "in" : "header",
176           "name" : "X-ECOMP-RequestID",
177           "schema" : {
178             "type" : "string"
179           }
180         }, {
181           "description" : "X-ECOMP-InstanceID header",
182           "in" : "header",
183           "name" : "X-ECOMP-InstanceID",
184           "required" : true,
185           "schema" : {
186             "type" : "string"
187           }
188         }, {
189           "description" : "Determines the format of the body of the response",
190           "in" : "header",
191           "name" : "Accept",
192           "schema" : {
193             "type" : "string"
194           }
195         }, {
196           "description" : "Determines the format of the body of the request",
197           "in" : "header",
198           "name" : "Content-Type",
199           "required" : true,
200           "schema" : {
201             "type" : "string"
202           }
203         }, {
204           "description" : "Length  of  the request body",
205           "in" : "header",
206           "name" : "Content-Length",
207           "required" : true,
208           "schema" : {
209             "type" : "string"
210           }
211         }, {
212           "description" : "The username and password",
213           "in" : "header",
214           "name" : "Authorization",
215           "required" : true,
216           "schema" : {
217             "type" : "string"
218           }
219         } ],
220         "responses" : {
221           "200" : {
222             "content" : {
223               "application/json" : {
224                 "schema" : {
225                   "type" : "array",
226                   "items" : {
227                     "$ref" : "#/components/schemas/TopicRegistrationResponse"
228                   }
229                 }
230               }
231             },
232             "description" : "ECOMP component is successfully registered for distribution"
233           },
234           "400" : {
235             "description" : "Invalid Body :  Specified 'distrEnvName' doesn’t exist - POL4137"
236           },
237           "401" : {
238             "description" : "ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with its Basic Authentication credentials - POL5002"
239           },
240           "403" : {
241             "description" : "ECOMP component is not authorized - POL5003"
242           },
243           "405" : {
244             "description" : "Method  Not Allowed  :  Invalid HTTP method type used to  register for  distribution ( PUT,DELETE,GET  will be rejected) - POL4050"
245           },
246           "500" : {
247             "description" : "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component  should  continue the attempts to  register for  distribution - POL5000"
248           }
249         },
250         "servers" : [ {
251           "url" : "/sdc",
252           "variables" : { }
253         } ],
254         "summary" : "Subscribes for distribution notifications",
255         "tags" : [ "SDCE-6 APIs" ]
256       }
257     },
258     "/v1/unRegisterForDistribution" : {
259       "post" : {
260         "description" : "Subscription status",
261         "operationId" : "unRegisterForDistribution",
262         "parameters" : [ {
263           "description" : "X-ECOMP-RequestID header",
264           "in" : "header",
265           "name" : "X-ECOMP-RequestID",
266           "schema" : {
267             "type" : "string"
268           }
269         }, {
270           "description" : "X-ECOMP-InstanceID header",
271           "in" : "header",
272           "name" : "X-ECOMP-InstanceID",
273           "required" : true,
274           "schema" : {
275             "type" : "string"
276           }
277         }, {
278           "description" : "Determines the format of the body of the response",
279           "in" : "header",
280           "name" : "Accept",
281           "schema" : {
282             "type" : "string"
283           }
284         }, {
285           "description" : "Determines the format of the body of the request",
286           "in" : "header",
287           "name" : "Content-Type",
288           "required" : true,
289           "schema" : {
290             "type" : "string"
291           }
292         }, {
293           "description" : "Length  of  the request body",
294           "in" : "header",
295           "name" : "Content-Length",
296           "required" : true,
297           "schema" : {
298             "type" : "string"
299           }
300         }, {
301           "description" : "The username and password",
302           "in" : "header",
303           "name" : "Authorization",
304           "required" : true,
305           "schema" : {
306             "type" : "string"
307           }
308         } ],
309         "responses" : {
310           "204" : {
311             "content" : {
312               "application/json" : {
313                 "schema" : {
314                   "type" : "array",
315                   "items" : {
316                     "$ref" : "#/components/schemas/TopicUnregistrationResponse"
317                   }
318                 }
319               }
320             },
321             "description" : "ECOMP component is successfully unregistered"
322           },
323           "400" : {
324             "description" : "Invalid Body :  Specified 'distrEnvName' doesn’t exist - POL4137"
325           },
326           "401" : {
327             "description" : "ECOMP component  should authenticate itself  and  to  re-send  again  HTTP  request  with its Basic Authentication credentials - POL5002"
328           },
329           "403" : {
330             "description" : "ECOMP component is not authorized - POL5003"
331           },
332           "405" : {
333             "description" : "Method  Not Allowed  :  Invalid HTTP method type used to  register for  distribution ( PUT,DELETE,GET will be rejected) - POL4050"
334           },
335           "500" : {
336             "description" : "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component  should  continue the attempts to  register for  distribution - POL5000"
337           }
338         },
339         "servers" : [ {
340           "url" : "/sdc",
341           "variables" : { }
342         } ],
343         "summary" : "Removes from subscription for distribution notifications",
344         "tags" : [ "SDCE-6 APIs" ]
345       }
346     }
347   },
348   "components" : {
349     "schemas" : {
350       "RegistrationRequest" : {
351         "type" : "object",
352         "properties" : {
353           "apiPublicKey" : {
354             "type" : "string"
355           },
356           "distEnvEndPoints" : {
357             "type" : "array",
358             "items" : {
359               "type" : "string"
360             }
361           },
362           "distrEnvName" : {
363             "type" : "string"
364           },
365           "isConsumerToSdcDistrStatusTopic" : {
366             "type" : "boolean"
367           },
368           "managerApiPublicKey" : {
369             "type" : "string"
370           },
371           "managerApiSecretKey" : {
372             "type" : "string"
373           }
374         }
375       },
376       "ServerListResponse" : {
377         "type" : "object",
378         "properties" : {
379           "uebServerList" : {
380             "type" : "array",
381             "items" : {
382               "type" : "string"
383             }
384           }
385         }
386       },
387       "TopicRegistrationResponse" : {
388         "type" : "object",
389         "properties" : {
390           "distrNotificationTopicName" : {
391             "type" : "string"
392           },
393           "distrStatusTopicName" : {
394             "type" : "string"
395           }
396         }
397       },
398       "TopicUnregistrationResponse" : {
399         "type" : "object",
400         "properties" : {
401           "distrNotificationTopicName" : {
402             "type" : "string"
403           },
404           "distrStatusTopicName" : {
405             "type" : "string"
406           },
407           "notificationUnregisterResult" : {
408             "type" : "string",
409             "enum" : [ "OK", "CONNNECTION_ERROR", "NOT_FOUND", "TOPIC_ALREADY_EXIST", "OBJECT_NOT_FOUND", "INTERNAL_SERVER_ERROR", "AUTHENTICATION_ERROR", "UNKNOWN_HOST_ERROR" ]
410           },
411           "statusUnregisterResult" : {
412             "type" : "string",
413             "enum" : [ "OK", "CONNNECTION_ERROR", "NOT_FOUND", "TOPIC_ALREADY_EXIST", "OBJECT_NOT_FOUND", "INTERNAL_SERVER_ERROR", "AUTHENTICATION_ERROR", "UNKNOWN_HOST_ERROR" ]
414           }
415         }
416       }
417     }
418   }
419 }