Add API Documentation for Casablanca
[externalapi/nbi.git] / docs / offeredapis / swaggers / serviceOrder_3_0_0.json
1
2 {
3   "swagger": "2.0",
4   "info": {
5     "description": "serviceOrder API designed for ONAP Casablanca release.\nThis API is build from TMF open API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by id and list) and POST are available.",
6     "version": "3.0.0",
7     "title": "API ServiceOrder",
8     "x-logo": {
9       "url": "/redoc/logo.png",
10       "backgroundColor": "#FFFFFF"
11     }
12   },
13   
14   "host": "serverRoot",
15   "basePath":   "/nbi/api/v3",
16   "schemes": [
17     "https"
18   ],
19   "produces": [
20     "application/json;charset=utf-8"
21   ],
22   "tags": [
23   
24     {
25       "name": "ServiceOrder",
26       "description": "A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment."
27     },
28     {
29       "name": "Hub",
30       "description": ""
31     },
32     {
33       "name": "Notification",
34       "description": ""
35     }
36   ],
37   "paths": {
38       "/serviceOrder": {
39       "post": {
40         "tags": [
41            "ServiceOrder"
42         ],
43         "consumes": [
44            "application/json;charset=utf-8"
45         ],
46         "produces": [
47            "application/json;charset=utf-8"
48         ],        
49         "operationId": "serviceOrderCreate",
50         "summary": "Create a service order",
51         "description": "This operation creates a service order entity.\nThe TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values.\nPOST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder.\n\nIn Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created.\n\nIn Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC.\nDepending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use  {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n   \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n   \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n   \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n   \n - 104: A customer for existing service(s) is provided but he did not exist\n   \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n   \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId  and tenantId provided\n   ",
52         "deprecated": false,
53         
54         "parameters": [
55           
56           {
57             "name": "serviceOrder",
58             "required": true,
59             "in": "body",
60             "description": "",
61             "schema": {
62               "$ref": "#/definitions/CreateServiceOrder"
63             }
64           }
65         ],
66         "responses": {
67           "201": {
68             "description": "Success",
69             "schema": {
70               "$ref": "#/definitions/ServiceOrder"
71             }
72
73           },
74           "400": {
75             
76             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
77             "schema": {
78             
79               "$ref": "#/definitions/ErrorRepresentation"
80             }
81           },
82           "401": {
83             
84             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
85             "schema": {
86             
87               "$ref": "#/definitions/ErrorRepresentation"
88             }
89           },
90           "403": {
91             
92             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
93             "schema": {
94             
95               "$ref": "#/definitions/ErrorRepresentation"
96             }
97           },
98           "404": {
99             
100             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
101             "schema": {
102             
103               "$ref": "#/definitions/ErrorRepresentation"
104             }
105           },
106           "422": {
107             
108             "description": "Unprocessable entity\n\nFunctional error\n\nSpecific encapsulated business errors for current operation\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n   \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n   \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n   \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n   \n - 104: A customer for existing service(s) is provided but he did not exist\n   \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n   \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId  and tenantId provided\n   ",
109             "schema": {
110             
111               "$ref": "#/definitions/ErrorRepresentation"
112             }
113           },
114           "500": {
115             
116             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
117             "schema": {
118             
119               "$ref": "#/definitions/ErrorRepresentation"
120             }
121           },
122           "503": {
123             
124             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
125             "schema": {
126             
127               "$ref": "#/definitions/ErrorRepresentation"
128             }
129           }
130         }
131       },
132       "get": {
133         "tags": [
134            "ServiceOrder"
135         ],
136         "produces": [
137            "application/json;charset=utf-8"
138         ],        
139         "operationId": "serviceOrderFind",
140         "summary": "List service orders",
141         "description": "Retrieve and list service order entities according to given criteria.\nOnly a predefined set of attribute is proposed.\nAttribute selection could be described in the fields attribute.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
142         "deprecated": false,
143         
144         "parameters": [
145           
146           {
147             "name": "externalId",
148             "required": false,
149             "in": "query",
150             "description": "",
151             
152               "type": "string"
153           },
154           {
155             "name": "state",
156             "required": false,
157             "in": "query",
158             "description": "state of the order(s) to be retrieved",
159             
160               "type": "string"
161           },
162           {
163             "name": "description",
164             "required": false,
165             "in": "query",
166             "description": "",
167             
168               "type": "string"
169           },
170           {
171             "name": "orderDate.gt",
172             "required": false,
173             "in": "query",
174             "description": "order date greather than",
175             
176               "type": "string"
177           },
178           {
179             "name": "orderDate.lt",
180             "required": false,
181             "in": "query",
182             "description": "order date lower than",
183             
184               "type": "string"
185           },
186           {
187             "name": "fields",
188             "required": false,
189             "in": "query",
190             "description": "this attribute could be used to filter retrieved attribute(s) and/or sort SO.",
191             
192               "type": "string"
193           },
194           {
195             "name": "offset",
196             "required": false,
197             "in": "query",
198             "description": "The index of the first element to retrieve. Zero is the first element of the collection.",
199             
200               "type": "integer",
201               "format": "int32"
202           },
203           {
204             "name": "limit",
205             "required": false,
206             "in": "query",
207             "description": "The maximum number of elements to retrieve (it can be greater than the actual available number of items).",
208             
209               "type": "integer",
210               "format": "int32"
211           }
212         ],
213         "responses": {
214           "200": {
215             "description": "Success",
216             "schema": {
217               "type": "array",
218               "items": {
219               "$ref": "#/definitions/ServiceOrder"
220               }
221             },
222             "headers": {
223               "X-Total-Count": {
224                 "description": "",
225               "type": "integer",
226               "format": "int32"
227               },
228               "X-Result-Count": {
229                 "description": "",
230               "type": "integer",
231               "format": "int32"
232               }
233             }
234
235           },
236           "400": {
237             
238             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
239             "schema": {
240             
241               "$ref": "#/definitions/ErrorRepresentation"
242             }
243           },
244           "401": {
245             
246             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
247             "schema": {
248             
249               "$ref": "#/definitions/ErrorRepresentation"
250             }
251           },
252           "403": {
253             
254             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
255             "schema": {
256             
257               "$ref": "#/definitions/ErrorRepresentation"
258             }
259           },
260           "404": {
261             
262             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
263             "schema": {
264             
265               "$ref": "#/definitions/ErrorRepresentation"
266             }
267           },
268           "422": {
269             
270             "description": "Unprocessable entity\n\nFunctional error",
271             "schema": {
272             
273               "$ref": "#/definitions/ErrorRepresentation"
274             }
275           },
276           "500": {
277             
278             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
279             "schema": {
280             
281               "$ref": "#/definitions/ErrorRepresentation"
282             }
283           },
284           "503": {
285             
286             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
287             "schema": {
288             
289               "$ref": "#/definitions/ErrorRepresentation"
290             }
291           }
292         }
293       }
294     },
295       "/serviceOrder/{id}": {
296       "get": {
297         "tags": [
298            "ServiceOrder"
299         ],
300         "produces": [
301            "application/json;charset=utf-8"
302         ],        
303         "operationId": "serviceOrderGet",
304         "summary": "Retrieve a service order",
305         "description": "This operation retrieves a service order entity. \nAttribute selection is enabled for all first level attributes.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
306         "deprecated": false,
307         
308         "parameters": [
309           
310           {
311             "name": "id",
312             "in": "path",
313             "required": true,
314             "type": "string",
315             "description": ""
316           },
317           {
318             "name": "fields",
319             "required": false,
320             "in": "query",
321             "description": "Attribute selection",
322             
323               "type": "string"
324           }
325         ],
326         "responses": {
327           "200": {
328             "description": "Success",
329             "schema": {
330               "$ref": "#/definitions/ServiceOrder"
331             }
332
333           },
334           "400": {
335             
336             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
337             "schema": {
338             
339               "$ref": "#/definitions/ErrorRepresentation"
340             }
341           },
342           "401": {
343             
344             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
345             "schema": {
346             
347               "$ref": "#/definitions/ErrorRepresentation"
348             }
349           },
350           "403": {
351             
352             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
353             "schema": {
354             
355               "$ref": "#/definitions/ErrorRepresentation"
356             }
357           },
358           "404": {
359             
360             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
361             "schema": {
362             
363               "$ref": "#/definitions/ErrorRepresentation"
364             }
365           },
366           "422": {
367             
368             "description": "Unprocessable entity\n\nFunctional error",
369             "schema": {
370             
371               "$ref": "#/definitions/ErrorRepresentation"
372             }
373           },
374           "500": {
375             
376             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
377             "schema": {
378             
379               "$ref": "#/definitions/ErrorRepresentation"
380             }
381           },
382           "503": {
383             
384             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
385             "schema": {
386             
387               "$ref": "#/definitions/ErrorRepresentation"
388             }
389           }
390         }
391       }
392     },
393       "/hub": {
394       "post": {
395         "tags": [
396            "Hub"
397         ],
398         "consumes": [
399            "application/json;charset=utf-8"
400         ],        
401         "operationId": "hubCreate",
402         "summary": "Create Hub",
403         "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
404         "deprecated": false,
405         
406         "parameters": [
407           
408           {
409             "name": "Hub",
410             "required": true,
411             "in": "body",
412             "description": "",
413             "schema": {
414               "$ref": "#/definitions/CreateHub"
415             }
416           }
417         ],
418         "responses": {
419           "201": {
420             "description": "Success",
421             "schema": {
422               "type": "file"
423               },
424             "headers": {
425               "location": {
426                 "description": "",
427               "type": "string"
428               }
429             }
430
431           },
432           "400": {
433             
434             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
435             "schema": {
436             
437               "$ref": "#/definitions/ErrorRepresentation"
438             }
439           },
440           "401": {
441             
442             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
443             "schema": {
444             
445               "$ref": "#/definitions/ErrorRepresentation"
446             }
447           },
448           "403": {
449             
450             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
451             "schema": {
452             
453               "$ref": "#/definitions/ErrorRepresentation"
454             }
455           },
456           "404": {
457             
458             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
459             "schema": {
460             
461               "$ref": "#/definitions/ErrorRepresentation"
462             }
463           },
464           "422": {
465             
466             "description": "Unprocessable entity\n\nFunctional error",
467             "schema": {
468             
469               "$ref": "#/definitions/ErrorRepresentation"
470             }
471           },
472           "500": {
473             
474             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
475             "schema": {
476             
477               "$ref": "#/definitions/ErrorRepresentation"
478             }
479           },
480           "503": {
481             
482             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
483             "schema": {
484             
485               "$ref": "#/definitions/ErrorRepresentation"
486             }
487           }
488         }
489       },
490       "get": {
491         "tags": [
492            "Hub"
493         ],
494         "produces": [
495            "application/json;charset=utf-8"
496         ],        
497         "operationId": "hubFind",
498         "summary": "Retrieve a lits of hub",
499         "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
500         "deprecated": false,
501         
502         "parameters": [
503           
504           {
505             "name": "id",
506             "required": false,
507             "in": "query",
508             "description": "",
509             
510               "type": "string"
511           },
512           {
513             "name": "eventType",
514             "required": false,
515             "in": "query",
516             "description": "",
517             
518       "type": "string",
519       "enum": [
520                   "ServiceOrderCreationNotification",
521                   "ServiceOrderStateChangeNotification",
522                   "ServiceOrderItemStateChangeNotification"]
523       
524           }
525         ],
526         "responses": {
527           "200": {
528             "description": "Success",
529             "schema": {
530               "type": "array",
531               "items": {
532               "$ref": "#/definitions/Hub"
533               }
534             }
535
536           },
537           "400": {
538             
539             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
540             "schema": {
541             
542               "$ref": "#/definitions/ErrorRepresentation"
543             }
544           },
545           "401": {
546             
547             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
548             "schema": {
549             
550               "$ref": "#/definitions/ErrorRepresentation"
551             }
552           },
553           "403": {
554             
555             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
556             "schema": {
557             
558               "$ref": "#/definitions/ErrorRepresentation"
559             }
560           },
561           "404": {
562             
563             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
564             "schema": {
565             
566               "$ref": "#/definitions/ErrorRepresentation"
567             }
568           },
569           "422": {
570             
571             "description": "Unprocessable entity\n\nFunctional error",
572             "schema": {
573             
574               "$ref": "#/definitions/ErrorRepresentation"
575             }
576           },
577           "500": {
578             
579             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
580             "schema": {
581             
582               "$ref": "#/definitions/ErrorRepresentation"
583             }
584           },
585           "503": {
586             
587             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
588             "schema": {
589             
590               "$ref": "#/definitions/ErrorRepresentation"
591             }
592           }
593         }
594       }
595     },
596       "/hub/{hubId}": {
597       "get": {
598         "tags": [
599            "Hub"
600         ],
601         "produces": [
602            "application/json;charset=utf-8"
603         ],        
604         "operationId": "hubGet",
605         "summary": "Retrieve an HUB by id",
606         "description": "Retrieve an HUB by id\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
607         "deprecated": false,
608         
609         "parameters": [
610           
611           {
612             "name": "hubId",
613             "in": "path",
614             "required": true,
615             "type": "string",
616             "description": ""
617           }
618         ],
619         "responses": {
620           "200": {
621             "description": "Success",
622             "schema": {
623               "$ref": "#/definitions/Hub"
624             }
625
626           },
627           "400": {
628             
629             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
630             "schema": {
631             
632               "$ref": "#/definitions/ErrorRepresentation"
633             }
634           },
635           "401": {
636             
637             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
638             "schema": {
639             
640               "$ref": "#/definitions/ErrorRepresentation"
641             }
642           },
643           "403": {
644             
645             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
646             "schema": {
647             
648               "$ref": "#/definitions/ErrorRepresentation"
649             }
650           },
651           "404": {
652             
653             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
654             "schema": {
655             
656               "$ref": "#/definitions/ErrorRepresentation"
657             }
658           },
659           "422": {
660             
661             "description": "Unprocessable entity\n\nFunctional error",
662             "schema": {
663             
664               "$ref": "#/definitions/ErrorRepresentation"
665             }
666           },
667           "500": {
668             
669             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
670             "schema": {
671             
672               "$ref": "#/definitions/ErrorRepresentation"
673             }
674           },
675           "503": {
676             
677             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
678             "schema": {
679             
680               "$ref": "#/definitions/ErrorRepresentation"
681             }
682           }
683         }
684       },
685       "delete": {
686         "tags": [
687            "Hub"
688         ],        
689         "operationId": "hubDelete",
690         "summary": "delete hub",
691         "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
692         "deprecated": false,
693         
694         "parameters": [
695           
696           {
697             "name": "hubId",
698             "in": "path",
699             "required": true,
700             "type": "string",
701             "description": ""
702           }
703         ],
704         "responses": {
705           "204": {
706             "description": "Success"
707
708           },
709           "400": {
710             
711             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
712             "schema": {
713             
714               "$ref": "#/definitions/ErrorRepresentation"
715             }
716           },
717           "401": {
718             
719             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
720             "schema": {
721             
722               "$ref": "#/definitions/ErrorRepresentation"
723             }
724           },
725           "403": {
726             
727             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
728             "schema": {
729             
730               "$ref": "#/definitions/ErrorRepresentation"
731             }
732           },
733           "404": {
734             
735             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
736             "schema": {
737             
738               "$ref": "#/definitions/ErrorRepresentation"
739             }
740           },
741           "422": {
742             
743             "description": "Unprocessable entity\n\nFunctional error",
744             "schema": {
745             
746               "$ref": "#/definitions/ErrorRepresentation"
747             }
748           },
749           "500": {
750             
751             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
752             "schema": {
753             
754               "$ref": "#/definitions/ErrorRepresentation"
755             }
756           },
757           "503": {
758             
759             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
760             "schema": {
761             
762               "$ref": "#/definitions/ErrorRepresentation"
763             }
764           }
765         }
766       }
767     },
768       "/notification/serviceOrderCreationNotification": {
769       "post": {
770         "tags": [
771            "Notification"
772         ],
773         "consumes": [
774            "application/json;charset=utf-8"
775         ],        
776         "operationId": "notificationServiceOrderCreationNotification",
777         "summary": "Service order creation notification",
778         "description": "Service order creation notification\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
779         "deprecated": false,
780         
781         "parameters": [
782           
783           {
784             "name": "serviceOrderCreationNotification",
785             "required": true,
786             "in": "body",
787             "description": "",
788             "schema": {
789               "$ref": "#/definitions/ServiceOrderCreationNotification"
790             }
791           }
792         ],
793         "responses": {
794           "204": {
795             "description": "Success"
796
797           },
798           "400": {
799             
800             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
801             "schema": {
802             
803               "$ref": "#/definitions/ErrorRepresentation"
804             }
805           },
806           "401": {
807             
808             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
809             "schema": {
810             
811               "$ref": "#/definitions/ErrorRepresentation"
812             }
813           },
814           "403": {
815             
816             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
817             "schema": {
818             
819               "$ref": "#/definitions/ErrorRepresentation"
820             }
821           },
822           "404": {
823             
824             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
825             "schema": {
826             
827               "$ref": "#/definitions/ErrorRepresentation"
828             }
829           },
830           "422": {
831             
832             "description": "Unprocessable entity\n\nFunctional error",
833             "schema": {
834             
835               "$ref": "#/definitions/ErrorRepresentation"
836             }
837           },
838           "500": {
839             
840             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
841             "schema": {
842             
843               "$ref": "#/definitions/ErrorRepresentation"
844             }
845           },
846           "503": {
847             
848             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
849             "schema": {
850             
851               "$ref": "#/definitions/ErrorRepresentation"
852             }
853           }
854         }
855       }
856     },
857       "/notification/serviceOrderStateChangeNotification": {
858       "post": {
859         "tags": [
860            "Notification"
861         ],
862         "consumes": [
863            "application/json;charset=utf-8"
864         ],        
865         "operationId": "notificationServiceOrderStateChangeNotification",
866         "summary": "Service order state change notification description",
867         "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
868         "deprecated": false,
869         
870         "parameters": [
871           
872           {
873             "name": "serviceOrderstateChangeNotification",
874             "required": true,
875             "in": "body",
876             "description": "",
877             "schema": {
878               "$ref": "#/definitions/ServiceOrderStateChangeNotification"
879             }
880           }
881         ],
882         "responses": {
883           "204": {
884             "description": "Success"
885
886           },
887           "400": {
888             
889             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
890             "schema": {
891             
892               "$ref": "#/definitions/ErrorRepresentation"
893             }
894           },
895           "401": {
896             
897             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
898             "schema": {
899             
900               "$ref": "#/definitions/ErrorRepresentation"
901             }
902           },
903           "403": {
904             
905             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
906             "schema": {
907             
908               "$ref": "#/definitions/ErrorRepresentation"
909             }
910           },
911           "404": {
912             
913             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
914             "schema": {
915             
916               "$ref": "#/definitions/ErrorRepresentation"
917             }
918           },
919           "422": {
920             
921             "description": "Unprocessable entity\n\nFunctional error",
922             "schema": {
923             
924               "$ref": "#/definitions/ErrorRepresentation"
925             }
926           },
927           "500": {
928             
929             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
930             "schema": {
931             
932               "$ref": "#/definitions/ErrorRepresentation"
933             }
934           },
935           "503": {
936             
937             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
938             "schema": {
939             
940               "$ref": "#/definitions/ErrorRepresentation"
941             }
942           }
943         }
944       }
945     },
946       "/notification/serviceOrderItemStateChangeNotification": {
947       "post": {
948         "tags": [
949            "Notification"
950         ],
951         "consumes": [
952            "application/json;charset=utf-8"
953         ],        
954         "operationId": "notificationServiceOrderItemStateChangeNotification",
955         "summary": "ServiceOrder Item State Change Notification description",
956         "description": "\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
957         "deprecated": false,
958         
959         "parameters": [
960           
961           {
962             "name": "serviceOrderItemStateChangeNotification",
963             "required": true,
964             "in": "body",
965             "description": "",
966             "schema": {
967               "$ref": "#/definitions/ServiceOrderItemStateChangeNotification"
968             }
969           }
970         ],
971         "responses": {
972           "204": {
973             "description": "Success"
974
975           },
976           "400": {
977             
978             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
979             "schema": {
980             
981               "$ref": "#/definitions/ErrorRepresentation"
982             }
983           },
984           "401": {
985             
986             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
987             "schema": {
988             
989               "$ref": "#/definitions/ErrorRepresentation"
990             }
991           },
992           "403": {
993             
994             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
995             "schema": {
996             
997               "$ref": "#/definitions/ErrorRepresentation"
998             }
999           },
1000           "404": {
1001             
1002             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
1003             "schema": {
1004             
1005               "$ref": "#/definitions/ErrorRepresentation"
1006             }
1007           },
1008           "422": {
1009             
1010             "description": "Unprocessable entity\n\nFunctional error",
1011             "schema": {
1012             
1013               "$ref": "#/definitions/ErrorRepresentation"
1014             }
1015           },
1016           "500": {
1017             
1018             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
1019             "schema": {
1020             
1021               "$ref": "#/definitions/ErrorRepresentation"
1022             }
1023           },
1024           "503": {
1025             
1026             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
1027             "schema": {
1028             
1029               "$ref": "#/definitions/ErrorRepresentation"
1030             }
1031           }
1032         }
1033       }
1034     }
1035   },
1036 "definitions": {
1037   
1038     "ActionType": {
1039       "description": "Action type to be describer on the order item.\nmodify is not managed in Beijing release",
1040       
1041       "type": "string",
1042       "enum": [
1043                   "add",
1044                   "modify",
1045                   "delete",
1046                   "noChange"]
1047       
1048     },
1049     "StateType": {
1050       "description": "List of possible state for the order and the orderItem.",
1051       
1052       "type": "string",
1053       "enum": [
1054                   "acknowledged",
1055                   "rejected",
1056                   "pending",
1057                   "held",
1058                   "inProgress",
1059                   "cancelled",
1060                   "completed",
1061                   "failed",
1062                   "partial"]
1063       
1064     },
1065     "RelationshipType": {
1066       "description": "Relationship type;\nOnly reliesOn is managed in Beijing release.",
1067       
1068       "type": "string",
1069       "enum": [
1070                   "reliesOn"]
1071       
1072     },
1073     "EventType": {
1074       "description": "",
1075       
1076       "type": "string",
1077       "enum": [
1078                   "ServiceOrderCreationNotification",
1079                   "ServiceOrderStateChangeNotification",
1080                   "ServiceOrderItemStateChangeNotification"]
1081       
1082     },
1083     "SeverityMessage": {
1084       "description": "",
1085       
1086       "type": "string",
1087       "enum": [
1088                   "information",
1089                   "error"]
1090       
1091     },
1092
1093     "ErrorRepresentation": {
1094       "description": "Representation of an error.",
1095
1096       
1097       "required": [
1098           
1099             "code",
1100             "reason"
1101       ],
1102       "type": "object",
1103       "properties": {
1104         "code": {
1105           "description": "Application related code (as defined in the API or from a common list)",
1106               "type": "integer",
1107               "format": "int32"
1108         },
1109         "reason": {
1110           "description": "Text that explains the reason for error. This can be shown to a client user.",
1111               "type": "string"
1112         },
1113         "message": {
1114           "description": "Text that provide more details and corrective actions related to the error. This can be shown to a client user",
1115               "type": "string"
1116         },
1117         "status": {
1118           "description": "http error code extension like 400-2",
1119               "type": "string"
1120         },
1121         "referenceError": {
1122           "description": "url pointing to documentation describing the error",
1123               "type": "string"
1124         },
1125         "@type": {
1126           "description": "The class type of a REST resource",
1127               "type": "string"
1128         },
1129         "@schemaLocation": {
1130           "description": "it provides a link to the schema describing a REST resource",
1131               "type": "string"
1132         }
1133       }
1134       
1135     },
1136
1137     "ServiceRelationship": {
1138       "description": "Linked Services to the one instantiate\nnbi component used this relationship to sort request to ONAP.",
1139
1140       
1141       "required": [
1142           
1143             "type",
1144             "service"
1145       ],
1146       "type": "object",
1147       "properties": {
1148         "type": {
1149           
1150            "$ref": "#/definitions/RelationshipType"
1151         },
1152         "service": {
1153           
1154               "$ref": "#/definitions/Service"
1155         }
1156       }
1157       
1158     },
1159
1160     "ServiceRef": {
1161       "description": "Service references",
1162
1163       
1164       "required": [
1165           
1166             "id"
1167       ],
1168       "type": "object",
1169       "properties": {
1170         "id": {
1171           "description": "Unique identifier of the service",
1172               "type": "string"
1173         },
1174         "href": {
1175           "description": "Reference of the service",
1176               "type": "string"
1177         }
1178       }
1179       
1180     },
1181
1182     "ServiceCharacteristic": {
1183       "description": "ServiceCharacteristic",
1184
1185       
1186       "required": [
1187           
1188             "name"
1189       ],
1190       "type": "object",
1191       "properties": {
1192         "name": {
1193           "description": "Name of characteristic",
1194               "type": "string"
1195         },
1196         "valueType": {
1197           "description": "",
1198               "type": "string"
1199         },
1200         "value": {
1201           
1202               "$ref": "#/definitions/Value"
1203         }
1204       }
1205       
1206     },
1207
1208     "RelatedParty": {
1209       "description": "A related party defines party which are involved in this order and the role they are playing.\nfor Beijing release:\nWith the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not.\no\tIf no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.",
1210
1211       
1212       "required": [
1213           
1214             "id",
1215             "role"
1216       ],
1217       "type": "object",
1218       "properties": {
1219         "id": {
1220           "description": "Unique identifier of a related party",
1221               "type": "string"
1222         },
1223         "href": {
1224           "description": "An hyperlink to the party - not used in Beijnig release",
1225               "type": "string"
1226         },
1227         "role": {
1228           "description": "The role of the related party (e.g. Owner, requester, fullfiller etc).\nONLY 'ONAPcustomer' is considered",
1229               "type": "string"
1230         },
1231         "name": {
1232           "description": "Name of the related party",
1233               "type": "string"
1234         },
1235         "@referredType": {
1236           "description": "",
1237               "type": "string"
1238         }
1239       }
1240       
1241     },
1242
1243     "ServiceSpecificationRef": {
1244       "description": "The service specification (these attributes are fetched from the catalogue).",
1245
1246       
1247       "required": [
1248           
1249             "id"
1250       ],
1251       "type": "object",
1252       "properties": {
1253         "id": {
1254           "description": "Unique identifier of the service specification\nThis information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.",
1255               "type": "string"
1256         },
1257         "href": {
1258           "description": "Reference of the service specification\nNot used in Beijing release.",
1259               "type": "string"
1260         },
1261         "name": {
1262           "description": "Name of the service specification\nNot used in Beijing release",
1263               "type": "string"
1264         },
1265         "version": {
1266           "description": "Version of the service Specification\nNot used in Beijing release",
1267               "type": "string"
1268         },
1269         "targetServiceSchema": {
1270           
1271               "$ref": "#/definitions/TargetServiceSchema"
1272         },
1273         "@type": {
1274           "description": "Not used in Beijing release",
1275               "type": "string"
1276         },
1277         "@schemaLocation": {
1278           "description": "Not used in Beijing release",
1279               "type": "string"
1280         },
1281         "@baseType": {
1282           "description": "Not used in Beijing release",
1283               "type": "string"
1284         }
1285       }
1286       
1287     },
1288
1289     "Service": {
1290       "description": "Service (to be added, modified, deleted) description",
1291
1292       
1293       "required": [
1294           
1295             "id"
1296       ],
1297       "type": "object",
1298       "properties": {
1299         "id": {
1300           "description": "Identifier of a service instance.\nIt must be valued if orderItem action is 'delete' and corresponds to a AAI service.id",
1301               "type": "string"
1302         },
1303         "href": {
1304           "description": "Reference to the Service (useful for delete or modify command).\nNot managed in Beijing release.",
1305               "type": "string"
1306         },
1307         "name": {
1308           "description": "Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.",
1309               "type": "string"
1310         },
1311         "serviceState": {
1312           "description": "The lifecycle state of the service requested;\nNot managed in Beijing release.",
1313               "type": "string"
1314         },
1315         "@type": {
1316           "description": "To define the service type\nNot managed in Beijing Release",
1317               "type": "string"
1318         },
1319         "@schemaLocation": {
1320           "description": "The URL to get the resource schema.\nNot managed in Beijing Release",
1321               "type": "string"
1322         },
1323         "serviceCharacteristic": {
1324           
1325           "type": "array",
1326           "items": {
1327               "$ref": "#/definitions/ServiceCharacteristic"
1328           }
1329         },
1330         "serviceRelationship": {
1331           
1332           "type": "array",
1333           "items": {
1334               "$ref": "#/definitions/ServiceRelationship"
1335           }
1336         },
1337         "relatedParty": {
1338           
1339           "type": "array",
1340           "items": {
1341               "$ref": "#/definitions/RelatedParty"
1342           }
1343         },
1344         "serviceSpecification": {
1345           
1346               "$ref": "#/definitions/ServiceSpecificationRef"
1347         }
1348       }
1349       
1350     },
1351
1352     "OrderItemRelationship": {
1353       "description": "Linked order item to the one containing this attribute.\nnbi component used this relationship to sort request to ONAP.",
1354
1355       
1356       "required": [
1357           
1358             "type",
1359             "id"
1360       ],
1361       "type": "object",
1362       "properties": {
1363         "type": {
1364           
1365            "$ref": "#/definitions/RelationshipType"
1366         },
1367         "id": {
1368           "description": "Unique identifier of an order item",
1369               "type": "string"
1370         }
1371       }
1372       
1373     },
1374
1375     "ServiceOrderItem": {
1376       "description": "An identified part of the order. A service order is decomposed into one or more order items.",
1377
1378       
1379       "required": [
1380           
1381             "id",
1382             "service"
1383       ],
1384       "type": "object",
1385       "properties": {
1386         "id": {
1387           "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)",
1388               "type": "string"
1389         },
1390         "action": {
1391           
1392            "$ref": "#/definitions/ActionType"
1393         },
1394         "state": {
1395           
1396            "$ref": "#/definitions/StateType"
1397         },
1398         "percentProgress": {
1399           "description": "Progress of the delivery in percentage.",
1400               "type": "string"
1401         },
1402         "@type": {
1403           "description": "Used to extend the order item.\nnot used in Beijing relase",
1404               "type": "string"
1405         },
1406         "@schemaLocation": {
1407           "description": "not used in Beijing relase",
1408               "type": "string"
1409         },
1410         "@baseType": {
1411           "description": "not used in Beijing relase",
1412               "type": "string"
1413         },
1414         "orderItemRelationship": {
1415           
1416           "type": "array",
1417           "items": {
1418               "$ref": "#/definitions/OrderItemRelationship"
1419           }
1420         },
1421         "service": {
1422           
1423               "$ref": "#/definitions/Service"
1424         },
1425         "orderItemMessage": {
1426           
1427           "type": "array",
1428           "items": {
1429               "$ref": "#/definitions/OrderMessage"
1430           }
1431         }
1432       }
1433       
1434     },
1435
1436     "ServiceOrder": {
1437       "description": "A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa",
1438
1439       
1440       "required": [
1441           
1442             "id"
1443       ],
1444       "type": "object",
1445       "properties": {
1446         "id": {
1447           "description": "ID created on repository side",
1448               "type": "string"
1449         },
1450         "href": {
1451           "description": "Hyperlink to access the order",
1452               "type": "string"
1453         },
1454         "externalId": {
1455           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
1456               "type": "string"
1457         },
1458         "priority": {
1459           "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)",
1460               "type": "string"
1461         },
1462         "description": {
1463           "description": "A free-text description of the service order",
1464               "type": "string"
1465         },
1466         "category": {
1467           "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)",
1468               "type": "string"
1469         },
1470         "state": {
1471           
1472            "$ref": "#/definitions/StateType"
1473         },
1474         "orderDate": {
1475           "description": "",
1476               "type": "string",
1477               "format": "date-time"
1478         },
1479         "completionDateTime": {
1480           "description": "Date when the order was completed",
1481               "type": "string",
1482               "format": "date-time"
1483         },
1484         "requestedStartDate": {
1485           "description": "Order start date wished by the requestor",
1486               "type": "string",
1487               "format": "date-time"
1488         },
1489         "requestedCompletionDate": {
1490           "description": "Requested delivery date from the requestor perspective",
1491               "type": "string",
1492               "format": "date-time"
1493         },
1494         "expectedCompletionDate": {
1495           "description": "",
1496               "type": "string",
1497               "format": "date-time"
1498         },
1499         "startDate": {
1500           "description": "Date when the order was started for processing",
1501               "type": "string",
1502               "format": "date-time"
1503         },
1504         "@baseType": {
1505           "description": "",
1506               "type": "string"
1507         },
1508         "@type": {
1509           "description": "",
1510               "type": "string"
1511         },
1512         "@schemaLocation": {
1513           "description": "",
1514               "type": "string"
1515         },
1516         "relatedParty": {
1517           
1518           "type": "array",
1519           "items": {
1520               "$ref": "#/definitions/RelatedParty"
1521           }
1522         },
1523         "orderRelationship": {
1524           
1525           "type": "array",
1526           "items": {
1527               "$ref": "#/definitions/OrderRelationship"
1528           }
1529         },
1530         "orderItem": {
1531           
1532           "type": "array",
1533           "items": {
1534               "$ref": "#/definitions/ServiceOrderItem"
1535           }
1536         },
1537         "orderMessage": {
1538           
1539           "type": "array",
1540           "items": {
1541               "$ref": "#/definitions/OrderMessage"
1542           }
1543         }
1544       }
1545       
1546     },
1547
1548     "OrderRelationship": {
1549       "description": "Linked order to the one containing this attribute.\nThis relationship is not used to sort ONAP request.",
1550
1551       
1552       "required": [
1553           
1554             "id"
1555       ],
1556       "type": "object",
1557       "properties": {
1558         "type": {
1559           "description": "The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)",
1560               "type": "string"
1561         },
1562         "id": {
1563           "description": "The id of the related order",
1564               "type": "string"
1565         },
1566         "href": {
1567           "description": "A hyperlink to the related order",
1568               "type": "string"
1569         },
1570         "@referredType": {
1571           "description": "Type of the referred order.",
1572               "type": "string"
1573         }
1574       }
1575       
1576     },
1577
1578     "TargetServiceSchema": {
1579       "description": "Target to the schema describing the service spec resource",
1580
1581       
1582       "required": [
1583           
1584             "@type",
1585             "@schemaLocation"
1586       ],
1587       "type": "object",
1588       "properties": {
1589         "@type": {
1590           "description": "Indicates the (class) type of resource.",
1591               "type": "string"
1592         },
1593         "@schemaLocation": {
1594           "description": "This field provided a link to the schema describing this REST resource.",
1595               "type": "string"
1596         }
1597       }
1598       
1599     },
1600
1601     "Value": {
1602       "description": "Value is a descriptive structure for service characteristic;\nFor Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.",
1603
1604       
1605       "type": "object",
1606       "properties": {
1607         "@type": {
1608           "description": "Indicates the (class) type of resource.\nNot used in Beijing Release",
1609               "type": "string"
1610         },
1611         "@schemaLocation": {
1612           "description": "This field provided a link to the schema describing this REST resource.\nNot used in Beijing Release",
1613               "type": "string"
1614         },
1615         "serviceCharacteristicValue": {
1616           "description": "Value of the characteristic.\nThis attribute must be used in Beijing Release to provide characteristic value.",
1617               "type": "string"
1618         }
1619       }
1620       
1621     },
1622
1623     "CreateServiceOrderItem": {
1624       "description": "This structure is used in the operation POST for a serviceOrder request to describe an item.\nAttribute description is not accurate and should be find in the serviceOrderItem class.",
1625
1626       
1627       "required": [
1628           
1629             "id",
1630             "service"
1631       ],
1632       "type": "object",
1633       "properties": {
1634         "id": {
1635           "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)",
1636               "type": "string"
1637         },
1638         "action": {
1639           
1640            "$ref": "#/definitions/ActionType"
1641         },
1642         "@type": {
1643           "description": "Indicates the type of resource.",
1644               "type": "string"
1645         },
1646         "@schemaLocation": {
1647           "description": "A link to the schema describing this REST resource",
1648               "type": "string"
1649         },
1650         "@baseType": {
1651           "description": "Indicates the base type of the resource.",
1652               "type": "string"
1653         },
1654         "orderItemRelationship": {
1655           
1656           "type": "array",
1657           "items": {
1658               "$ref": "#/definitions/OrderItemRelationship"
1659           }
1660         },
1661         "service": {
1662           
1663               "$ref": "#/definitions/Service"
1664         }
1665       }
1666       
1667     },
1668
1669     "CreateServiceOrder": {
1670       "description": "This structure is used in the operation POST for a serviceOrder request.\nAttribute description is not accurate and should be find in the serviceOrder class.",
1671
1672       
1673       "type": "object",
1674       "properties": {
1675         "externalId": {
1676           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
1677               "type": "string"
1678         },
1679         "priority": {
1680           "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)",
1681               "type": "string"
1682         },
1683         "description": {
1684           "description": "A free-text description of the service order",
1685               "type": "string"
1686         },
1687         "category": {
1688           "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)",
1689               "type": "string"
1690         },
1691         "requestedStartDate": {
1692           "description": "Order start date wished by the requestor",
1693               "type": "string",
1694               "format": "date-time"
1695         },
1696         "requestedCompletionDate": {
1697           "description": "Requested delivery date from the requestor perspective",
1698               "type": "string",
1699               "format": "date-time"
1700         },
1701         "@baseType": {
1702           "description": "",
1703               "type": "string"
1704         },
1705         "@type": {
1706           "description": "",
1707               "type": "string"
1708         },
1709         "@schemaLocation": {
1710           "description": "",
1711               "type": "string"
1712         },
1713         "relatedParty": {
1714           
1715           "type": "array",
1716           "items": {
1717               "$ref": "#/definitions/RelatedParty"
1718           }
1719         },
1720         "orderRelationship": {
1721           
1722           "type": "array",
1723           "items": {
1724               "$ref": "#/definitions/OrderRelationship"
1725           }
1726         },
1727         "orderItem": {
1728           
1729           "type": "array",
1730           "items": {
1731               "$ref": "#/definitions/CreateServiceOrderItem"
1732           }
1733         }
1734       }
1735       
1736     },
1737
1738     "Hub": {
1739       "description": "An HUB resource is used by client side to subscribe to notification.\nNot managed in the Beijing release.",
1740
1741       
1742         "discriminator": "id",
1743       
1744       "required": [
1745           
1746             "query",
1747             "callback"
1748       ],
1749       "type": "object",
1750       "properties": {
1751         "id": {
1752           "description": "Hub Id",
1753               "type": "string"
1754         },
1755         "query": {
1756           "description": "",
1757               "type": "string"
1758         },
1759         "callback": {
1760           "description": "Address where notification must be send",
1761               "type": "string"
1762         }
1763       }
1764       
1765     },
1766
1767     "CreateHub": {
1768       "description": "This structure is used as a request for POST Hub operation",
1769
1770       
1771       "required": [
1772           
1773             "query",
1774             "callback"
1775       ],
1776       "type": "object",
1777       "properties": {
1778         "query": {
1779           "description": "The query must have an eventType=notificationName information.\nOptionally a ? could be added to reduce hub.\nquery”:”eventType = ServiceOrderStateChangeNotification”&serviceOrder.state=COMPLETED",
1780               "type": "string"
1781         },
1782         "callback": {
1783           "description": "Address where notification must be send",
1784               "type": "string"
1785         }
1786       }
1787       
1788     },
1789
1790     "ServiceOrderSummary": {
1791       "description": "This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages",
1792
1793       
1794       "required": [
1795           
1796             "id"
1797       ],
1798       "type": "object",
1799       "properties": {
1800         "id": {
1801           "description": "ID created on repository side",
1802               "type": "string"
1803         },
1804         "href": {
1805           "description": "Hyperlink to access the order",
1806               "type": "string"
1807         },
1808         "externalId": {
1809           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
1810               "type": "string"
1811         },
1812         "state": {
1813           
1814            "$ref": "#/definitions/StateType"
1815         },
1816         "orderDate": {
1817           "description": "",
1818               "type": "string",
1819               "format": "date-time"
1820         },
1821         "completionDateTime": {
1822           "description": "Date when the order was completed",
1823               "type": "string",
1824               "format": "date-time"
1825         }
1826       }
1827       
1828     },
1829
1830     "ServiceOrderCreationNotification": {
1831       "description": "Notification structure for a service order creation notification",
1832
1833       
1834       "required": [
1835           
1836             "eventId",
1837             "eventDate",
1838             "eventType",
1839             "event"
1840       ],
1841       "type": "object",
1842       "properties": {
1843         "eventId": {
1844           "description": "",
1845               "type": "string"
1846         },
1847         "eventDate": {
1848           "description": "",
1849               "type": "string",
1850               "format": "date-time"
1851         },
1852         "eventType": {
1853           "description": "",
1854               "type": "string",
1855         
1856                   "default": "ServiceOrderCreationNotification"
1857         },
1858         "event": {
1859           
1860               "$ref": "#/definitions/ServiceOrderSummary"
1861         }
1862       }
1863       
1864     },
1865
1866     "Notification": {
1867       "description": "Used to describe notification for this API",
1868
1869       
1870       "type": "object",
1871       "properties": {
1872       }
1873       
1874     },
1875
1876     "ServiceOrderStateChangeNotification": {
1877       "description": "Service order state change notification description",
1878
1879       
1880       "required": [
1881           
1882             "eventId",
1883             "eventDate",
1884             "eventType",
1885             "event"
1886       ],
1887       "type": "object",
1888       "properties": {
1889         "eventId": {
1890           "description": "",
1891               "type": "string"
1892         },
1893         "eventDate": {
1894           "description": "",
1895               "type": "string",
1896               "format": "date-time"
1897         },
1898         "eventType": {
1899           "description": "",
1900               "type": "string",
1901         
1902                   "default": "ServiceOrderStateChangeNotification"
1903         },
1904         "event": {
1905           
1906               "$ref": "#/definitions/ServiceOrderSummary"
1907         }
1908       }
1909       
1910     },
1911
1912     "ServiceOrderItemSummary": {
1913       "description": "Service Order item summary to be used for notification",
1914
1915       
1916       "required": [
1917           
1918             "id",
1919             "service"
1920       ],
1921       "type": "object",
1922       "properties": {
1923         "id": {
1924           "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)",
1925               "type": "string"
1926         },
1927         "action": {
1928           
1929            "$ref": "#/definitions/ActionType"
1930         },
1931         "state": {
1932           
1933            "$ref": "#/definitions/StateType"
1934         },
1935         "service": {
1936           
1937               "$ref": "#/definitions/Service"
1938         }
1939       }
1940       
1941     },
1942
1943     "ServiceOrderSummaryWithItem": {
1944       "description": "Service order item summary with item description",
1945
1946       
1947       "required": [
1948           
1949             "id"
1950       ],
1951       "type": "object",
1952       "properties": {
1953         "id": {
1954           "description": "ID created on repository side",
1955               "type": "string"
1956         },
1957         "href": {
1958           "description": "Hyperlink to access the order",
1959               "type": "string"
1960         },
1961         "externalId": {
1962           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
1963               "type": "string"
1964         },
1965         "state": {
1966           
1967            "$ref": "#/definitions/StateType"
1968         },
1969         "orderDate": {
1970           "description": "",
1971               "type": "string",
1972               "format": "date-time"
1973         },
1974         "completionDateTime": {
1975           "description": "Date when the order was completed",
1976               "type": "string",
1977               "format": "date-time"
1978         },
1979         "orderItem": {
1980           
1981           "type": "array",
1982           "items": {
1983               "$ref": "#/definitions/ServiceOrderItemSummary"
1984           }
1985         }
1986       }
1987       
1988     },
1989
1990     "ServiceOrderItemStateChangeNotification": {
1991       "description": "",
1992
1993       
1994       "required": [
1995           
1996             "eventId",
1997             "eventDate",
1998             "eventType",
1999             "event"
2000       ],
2001       "type": "object",
2002       "properties": {
2003         "eventId": {
2004           "description": "",
2005               "type": "string"
2006         },
2007         "eventDate": {
2008           "description": "",
2009               "type": "string",
2010               "format": "date-time"
2011         },
2012         "eventType": {
2013           "description": "",
2014               "type": "string",
2015         
2016                   "default": "ServiceOrderStateChangeNotification"
2017         },
2018         "event": {
2019           
2020               "$ref": "#/definitions/ServiceOrderSummaryWithItem"
2021         }
2022       }
2023       
2024     },
2025
2026     "OrderMessage": {
2027       "description": "An optional array of messages associated with the Order",
2028
2029       
2030       "required": [
2031           
2032             "severity",
2033             "correctionRequired"
2034       ],
2035       "type": "object",
2036       "properties": {
2037         "code": {
2038           "description": "A code associated to this message",
2039               "type": "string"
2040         },
2041         "field": {
2042           "description": "Service Order attribute related to this error message",
2043               "type": "string"
2044         },
2045         "messageInformation": {
2046           "description": "Message related to this order",
2047               "type": "string"
2048         },
2049         "severity": {
2050           
2051            "$ref": "#/definitions/SeverityMessage"
2052         },
2053         "correctionRequired": {
2054           "description": "Indicator that an action is required to allow service order fullfilment to follow up",
2055               "type": "boolean"
2056         }
2057       }
2058       
2059     }
2060   }
2061 }
2062