Implement 'Update Service by importing Tosca Model'-story
[sdc.git] / docs / openapi / openapi-sdce-4.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 certifying services (SDCE-4)",
10     "license" : {
11       "name" : "Apache 2.0",
12       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
13     },
14     "title" : "SPC API: SDCE-4",
15     "version" : "1.0"
16   },
17   "servers" : [ {
18     "description" : "SDCE-4 APIs",
19     "url" : "/sdc"
20   } ],
21   "paths" : {
22     "/v1/catalog/{componentCollection}/{componentId}/lifecycleState/{lifecycleOperation}" : {
23       "post" : {
24         "description" : "Change Resource lifecycle State",
25         "operationId" : "changeResourceState",
26         "parameters" : [ {
27           "description" : "validValues: resources / services / products",
28           "in" : "path",
29           "name" : "componentCollection",
30           "required" : true,
31           "schema" : {
32             "type" : "string",
33             "enum" : [ "resources", "services", "products" ]
34           }
35         }, {
36           "in" : "path",
37           "name" : "lifecycleOperation",
38           "required" : true,
39           "schema" : {
40             "type" : "string",
41             "enum" : [ "checkout, undoCheckout, checkin, certificationRequest, startCertification, failCertification,  cancelCertification, certify" ]
42           }
43         }, {
44           "description" : "id of component to be changed",
45           "in" : "path",
46           "name" : "componentId",
47           "required" : true,
48           "schema" : {
49             "type" : "string"
50           }
51         }, {
52           "description" : "id of user initiating the operation",
53           "in" : "header",
54           "name" : "USER_ID",
55           "schema" : {
56             "type" : "string"
57           }
58         } ],
59         "requestBody" : {
60           "content" : {
61             "application/json" : {
62               "schema" : {
63                 "type" : "string"
64               }
65             }
66           },
67           "description" : "LifecycleChangeInfo - relevant for checkin, failCertification, cancelCertification"
68         },
69         "responses" : {
70           "200" : {
71             "description" : "Resource state changed"
72           },
73           "403" : {
74             "description" : "Restricted operation"
75           },
76           "409" : {
77             "description" : "Resource already exist"
78           },
79           "default" : {
80             "content" : {
81               "application/json" : {
82                 "schema" : {
83                   "type" : "array",
84                   "items" : {
85                     "type" : "object",
86                     "properties" : {
87                       "allowedMethods" : {
88                         "type" : "array",
89                         "items" : {
90                           "type" : "string"
91                         },
92                         "uniqueItems" : true
93                       },
94                       "cookies" : {
95                         "type" : "object",
96                         "additionalProperties" : {
97                           "type" : "object",
98                           "properties" : {
99                             "comment" : {
100                               "type" : "string"
101                             },
102                             "domain" : {
103                               "type" : "string"
104                             },
105                             "expiry" : {
106                               "type" : "string",
107                               "format" : "date-time"
108                             },
109                             "httpOnly" : {
110                               "type" : "boolean"
111                             },
112                             "maxAge" : {
113                               "type" : "integer",
114                               "format" : "int32"
115                             },
116                             "name" : {
117                               "type" : "string"
118                             },
119                             "path" : {
120                               "type" : "string"
121                             },
122                             "secure" : {
123                               "type" : "boolean"
124                             },
125                             "value" : {
126                               "type" : "string"
127                             },
128                             "version" : {
129                               "type" : "integer",
130                               "format" : "int32"
131                             }
132                           }
133                         }
134                       },
135                       "date" : {
136                         "type" : "string",
137                         "format" : "date-time"
138                       },
139                       "entity" : {
140                         "type" : "object"
141                       },
142                       "entityTag" : {
143                         "type" : "object",
144                         "properties" : {
145                           "value" : {
146                             "type" : "string"
147                           },
148                           "weak" : {
149                             "type" : "boolean"
150                           }
151                         }
152                       },
153                       "headers" : {
154                         "type" : "object",
155                         "additionalProperties" : {
156                           "type" : "array",
157                           "items" : {
158                             "type" : "object"
159                           }
160                         }
161                       },
162                       "language" : {
163                         "type" : "object",
164                         "properties" : {
165                           "country" : {
166                             "type" : "string"
167                           },
168                           "displayCountry" : {
169                             "type" : "string"
170                           },
171                           "displayLanguage" : {
172                             "type" : "string"
173                           },
174                           "displayName" : {
175                             "type" : "string"
176                           },
177                           "displayScript" : {
178                             "type" : "string"
179                           },
180                           "displayVariant" : {
181                             "type" : "string"
182                           },
183                           "extensionKeys" : {
184                             "type" : "array",
185                             "items" : {
186                               "type" : "string"
187                             },
188                             "uniqueItems" : true
189                           },
190                           "iso3Country" : {
191                             "type" : "string"
192                           },
193                           "iso3Language" : {
194                             "type" : "string"
195                           },
196                           "language" : {
197                             "type" : "string"
198                           },
199                           "script" : {
200                             "type" : "string"
201                           },
202                           "unicodeLocaleAttributes" : {
203                             "type" : "array",
204                             "items" : {
205                               "type" : "string"
206                             },
207                             "uniqueItems" : true
208                           },
209                           "unicodeLocaleKeys" : {
210                             "type" : "array",
211                             "items" : {
212                               "type" : "string"
213                             },
214                             "uniqueItems" : true
215                           },
216                           "variant" : {
217                             "type" : "string"
218                           }
219                         }
220                       },
221                       "lastModified" : {
222                         "type" : "string",
223                         "format" : "date-time"
224                       },
225                       "length" : {
226                         "type" : "integer",
227                         "format" : "int32"
228                       },
229                       "links" : {
230                         "type" : "array",
231                         "items" : {
232                           "type" : "object",
233                           "properties" : {
234                             "params" : {
235                               "type" : "object",
236                               "additionalProperties" : {
237                                 "type" : "string"
238                               }
239                             },
240                             "rel" : {
241                               "type" : "string"
242                             },
243                             "rels" : {
244                               "type" : "array",
245                               "items" : {
246                                 "type" : "string"
247                               }
248                             },
249                             "title" : {
250                               "type" : "string"
251                             },
252                             "type" : {
253                               "type" : "string"
254                             },
255                             "uri" : {
256                               "type" : "string",
257                               "format" : "uri"
258                             },
259                             "uriBuilder" : {
260                               "type" : "object"
261                             }
262                           }
263                         },
264                         "uniqueItems" : true
265                       },
266                       "location" : {
267                         "type" : "string",
268                         "format" : "uri"
269                       },
270                       "mediaType" : {
271                         "type" : "object",
272                         "properties" : {
273                           "parameters" : {
274                             "type" : "object",
275                             "additionalProperties" : {
276                               "type" : "string"
277                             }
278                           },
279                           "subtype" : {
280                             "type" : "string"
281                           },
282                           "type" : {
283                             "type" : "string"
284                           },
285                           "wildcardSubtype" : {
286                             "type" : "boolean"
287                           },
288                           "wildcardType" : {
289                             "type" : "boolean"
290                           }
291                         }
292                       },
293                       "metadata" : {
294                         "type" : "object",
295                         "additionalProperties" : {
296                           "type" : "array",
297                           "items" : {
298                             "type" : "object"
299                           }
300                         }
301                       },
302                       "status" : {
303                         "type" : "integer",
304                         "format" : "int32"
305                       },
306                       "statusInfo" : {
307                         "type" : "object",
308                         "properties" : {
309                           "family" : {
310                             "type" : "string",
311                             "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
312                           },
313                           "reasonPhrase" : {
314                             "type" : "string"
315                           },
316                           "statusCode" : {
317                             "type" : "integer",
318                             "format" : "int32"
319                           }
320                         }
321                       },
322                       "stringHeaders" : {
323                         "type" : "object",
324                         "additionalProperties" : {
325                           "type" : "array",
326                           "items" : {
327                             "type" : "string"
328                           }
329                         }
330                       }
331                     }
332                   }
333                 }
334               }
335             }
336           }
337         },
338         "servers" : [ {
339           "url" : "/sdc2/rest",
340           "variables" : { }
341         } ],
342         "tags" : [ "SDCE-4 APIs" ]
343       }
344     }
345   }
346 }