1 # This work is licensed under a Creative Commons Attribution 4.0 International License.
2 # http://creativecommons.org/licenses/by/4.0
3 # Copyright 2018 Orange
7 description: "serviceOrder API designed for ONAP Beijing Release.\nThis API is build\
8 \ from TMF open API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by\
9 \ id and list) and POST are available."
10 version: "1.0.0_inProgress"
11 title: "API ServiceOrder"
13 url: "/redoc/logo.png"
14 backgroundColor: "#FFFFFF"
16 basePath: "/nbi/api/v1"
20 - "application/json;charset=utf-8"
22 - "application/json;charset=utf-8"
24 - name: "ServiceOrder"
25 description: "A Service Order is a type of order which can be used to describe a\
26 \ group of operations on service – one service order item per service. An action\
27 \ at the level of the service order item describe the operation to be done on\
28 \ a service (add, terminate for example). The service order is triggered from\
29 \ the BSS system in charge of the product order management to ONAP that will manage\
30 \ the service fulfillment."
36 operationId: "serviceOrderCreate"
37 summary: "Create a service order"
38 description: "This operation creates a service order entity.\nThe TMF Open API\
39 \ specification document provides the list of mandatory and non mandatory\
40 \ attributes when creating a ServiceOrder, including any possible rule conditions\
41 \ and applicable default values.\nPOST should be used without specifying the\
42 \ id and the href, the Service Order Management system is in charge of generating\
43 \ the id + href for the ServiceOrder.\n\nSpecific business errors for current\
44 \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n\
45 \n - 100: OrderItem with 'add' action but serviceSpecification id missing\n\
46 \ \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n\
47 \ \n - 102: OrderItem with 'add' action - serviceSpecification id provided\
48 \ but not existing\n \n - 103: OrderItem with 'add' action but service id\
49 \ already existing in the inventory\n \n - 104: A customer for existing\
50 \ service(s) is provided but he did not exist\n \n - 105: OrderItem with\
51 \ 'change'/'noChange'/'remove' - Service id provided but it is not existing\
52 \ in the inventory\n \n - 106: [Not managed for current Relese] Issue with\
53 \ lcpCloudRegionId and tenantId provided\n "
56 - name: "serviceOrder"
61 $ref: "#/definitions/CreateServiceOrder"
64 description: "Success"
66 $ref: "#/definitions/ServiceOrder"
68 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
69 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
70 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
71 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
74 $ref: "#/definitions/ErrorRepresentation"
76 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
77 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
79 $ref: "#/definitions/ErrorRepresentation"
81 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
82 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
85 $ref: "#/definitions/ErrorRepresentation"
87 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
90 $ref: "#/definitions/ErrorRepresentation"
92 description: "Unprocessable entity\n\nFunctional error\n\nSpecific encapsulated\
93 \ business errors for current operation\n\n - 100: OrderItem with 'add'\
94 \ action but serviceSpecification id missing\n \n - 101: OrderItem with\
95 \ 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem\
96 \ with 'add' action - serviceSpecification id provided but not existing\n\
97 \ \n - 103: OrderItem with 'add' action but service id already existing\
98 \ in the inventory\n \n - 104: A customer for existing service(s) is\
99 \ provided but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove'\
100 \ - Service id provided but it is not existing in the inventory\n \n\
101 \ - 106: [Not managed for current Relese] Issue with lcpCloudRegionId\
102 \ and tenantId provided\n "
104 $ref: "#/definitions/ErrorRepresentation"
106 description: "Internal Server Error\n\nList of supported error codes:\n\
109 $ref: "#/definitions/ErrorRepresentation"
111 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
112 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
115 $ref: "#/definitions/ErrorRepresentation"
119 operationId: "serviceOrderFind"
120 summary: "List service orders"
121 description: "Retrieve and list service order entities according to given criteria.\n\
122 Only a predefined set of attribute is proposed.\nAttribute selection could\
123 \ be described in the fields attribute.\n\nSpecific business errors for current\
124 \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n"
135 description: "state of the order(s) to be retrieved"
137 - name: "description"
142 - name: "orderDate.gt"
145 description: "order date greather than"
147 - name: "orderDate.lt"
150 description: "order date lower than"
155 description: "this attribute could be used to filter retrieved attribute(s)\
161 description: "The index of the first element to retrieve. Zero is the first\
162 \ element of the collection."
168 description: "The maximum number of elements to retrieve (it can be greater\
169 \ than the actual available number of items)."
174 description: "Success"
178 $ref: "#/definitions/ServiceOrder"
189 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
190 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
191 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
192 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
195 $ref: "#/definitions/ErrorRepresentation"
197 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
198 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
200 $ref: "#/definitions/ErrorRepresentation"
202 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
203 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
206 $ref: "#/definitions/ErrorRepresentation"
208 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
211 $ref: "#/definitions/ErrorRepresentation"
213 description: "Unprocessable entity\n\nFunctional error"
215 $ref: "#/definitions/ErrorRepresentation"
217 description: "Internal Server Error\n\nList of supported error codes:\n\
220 $ref: "#/definitions/ErrorRepresentation"
222 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
223 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
226 $ref: "#/definitions/ErrorRepresentation"
231 operationId: "serviceOrderGet"
232 summary: "Retrieve a service order"
233 description: "This operation retrieves a service order entity. \nAttribute selection\
234 \ is enabled for all first level attributes.\n\nSpecific business errors for\
235 \ current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable\
247 description: "Attribute selection"
251 description: "Success"
253 $ref: "#/definitions/ServiceOrder"
255 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
256 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
257 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
258 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
261 $ref: "#/definitions/ErrorRepresentation"
263 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
264 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
266 $ref: "#/definitions/ErrorRepresentation"
268 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
269 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
272 $ref: "#/definitions/ErrorRepresentation"
274 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
277 $ref: "#/definitions/ErrorRepresentation"
279 description: "Unprocessable entity\n\nFunctional error"
281 $ref: "#/definitions/ErrorRepresentation"
283 description: "Internal Server Error\n\nList of supported error codes:\n\
286 $ref: "#/definitions/ErrorRepresentation"
288 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
289 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
292 $ref: "#/definitions/ErrorRepresentation"
295 description: "Action type to be describer on the order item.\nmodify is not managed\
296 \ in Beijing release"
304 description: "List of possible state for the order and the orderItem."
317 description: "Relationship type;\nOnly reliesOn is managed in Beijing release."
322 description: "Representation of an error."
329 description: "Application related code (as defined in the API or from a common\
334 description: "Text that explains the reason for error. This can be shown to\
338 description: "Text that provide more details and corrective actions related\
339 \ to the error. This can be shown to a client user"
342 description: "http error code extension like 400-2"
345 description: "url pointing to documentation describing the error"
348 description: "The class type of a REST resource"
351 description: "it provides a link to the schema describing a REST resource"
354 description: "Linked Services to the one instantiate\nnbi component used this\
355 \ relationship to sort request to ONAP."
362 $ref: "#/definitions/RelationshipType"
364 $ref: "#/definitions/Service"
366 description: "Service references"
372 description: "Unique identifier of the service"
375 description: "Reference of the service"
377 ServiceCharacteristic:
378 description: "ServiceCharacteristic"
384 description: "Name of characteristic"
390 $ref: "#/definitions/Value"
392 description: "A related party defines party which are involved in this order and\
393 \ the role they are playing.\nfor Beijing release:\nWith the current version\
394 \ of APIs used from SO and AAI we need to manage a ‘customer’. This customer\
395 \ concept is confusing with Customer BSS concept. We took the following rules\
396 \ to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder\
397 \ in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided\
398 \ in the serviceOrder header (we will not consider in this release the party\
399 \ at item level); External API component will check if this customer exists\
400 \ and create it in AAI if not.\no\tIf no relatedParty are provided the service\
401 \ will be affected to ‘generic’ customer (dummy customer) – we assume this ‘\
402 generic’ customer always exists."
409 description: "Unique identifier of a related party"
412 description: "An hyperlink to the party - not used in Beijnig release"
415 description: "The role of the related party (e.g. Owner, requester, fullfiller\
416 \ etc).\nONLY 'ONAPcustomer' is considered"
419 description: "Name of the related party"
424 ServiceSpecificationRef:
425 description: "The service specification (these attributes are fetched from the\
432 description: "Unique identifier of the service specification\nThis information\
433 \ will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin\
437 description: "Reference of the service specification\nNot used in Beijing\
441 description: "Name of the service specification\nNot used in Beijing release"
444 description: "Version of the service Specification\nNot used in Beijing release"
447 $ref: "#/definitions/TargetServiceSchema"
449 description: "Not used in Beijing release"
452 description: "Not used in Beijing release"
455 description: "Not used in Beijing release"
458 description: "Service (to be added, modified, deleted) description"
464 description: "Identifier of a service instance.\nIt must be valued if orderItem\
465 \ action is 'delete' and corresponds to a AAI service.id"
468 description: "Reference to the Service (useful for delete or modify command).\n\
469 Not managed in Beijing release."
472 description: "Name of the service - When orderItem action is 'add' this name\
473 \ will be used in ONAP/SO request as InstaceName."
476 description: "The lifecycle state of the service requested;\nNot managed in\
480 description: "To define the service type\nNot managed in Beijing Release"
483 description: "The URL to get the resource schema.\nNot managed in Beijing\
486 serviceCharacteristic:
489 $ref: "#/definitions/ServiceCharacteristic"
493 $ref: "#/definitions/ServiceRelationship"
497 $ref: "#/definitions/RelatedParty"
498 serviceSpecification:
499 $ref: "#/definitions/ServiceSpecificationRef"
500 OrderItemRelationship:
501 description: "Linked order item to the one containing this attribute.\nnbi component\
502 \ used this relationship to sort request to ONAP."
509 $ref: "#/definitions/RelationshipType"
511 description: "Unique identifier of an order item"
514 description: "An identified part of the order. A service order is decomposed into\
515 \ one or more order items."
522 description: "Identifier of the line item (generally it is a sequence number\
526 $ref: "#/definitions/ActionType"
528 $ref: "#/definitions/StateType"
530 description: "Used to extend the order item.\nnot used in Beijing relase"
533 description: "not used in Beijing relase"
536 description: "not used in Beijing relase"
538 orderItemRelationship:
541 $ref: "#/definitions/OrderItemRelationship"
543 $ref: "#/definitions/Service"
545 description: "A Service Order is a type of order which can be used to place an\
546 \ order between a customer and a service provider or between a service provider\
547 \ and a partner and vice versa"
553 description: "ID created on repository side"
556 description: "Hyperlink to access the order"
559 description: "ID given by the consumer and only understandable by him (to\
560 \ facilitate his searches)"
563 description: "A way that can be used by consumers to prioritize orders in\
564 \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\
568 description: "A free-text description of the service order"
571 description: "Used to categorize the order that can be useful for the OM system\
572 \ (e.g. “broadband”, “TVOption”, ...)"
575 $ref: "#/definitions/StateType"
581 description: "Date when the order was completed"
585 description: "Order start date wished by the requestor"
588 requestedCompletionDate:
589 description: "Requested delivery date from the requestor perspective"
592 expectedCompletionDate:
597 description: "Date when the order was started for processing"
612 $ref: "#/definitions/RelatedParty"
616 $ref: "#/definitions/OrderRelationship"
620 $ref: "#/definitions/ServiceOrderItem"
622 description: "Linked order to the one containing this attribute.\nThis relationship\
623 \ is not used to sort ONAP request."
629 description: "The type of related order, can be : “dependency” if the order\
630 \ needs to be “not started” until another order item is complete (a service\
631 \ order in this case) or “cross-ref” to keep track of the source order (a\
635 description: "The id of the related order"
638 description: "A hyperlink to the related order"
641 description: "Type of the referred order."
644 description: "Target to the schema describing the service spec resource"
651 description: "Indicates the (class) type of resource."
654 description: "This field provided a link to the schema describing this REST\
658 description: "Value is a descriptive structure for service characteristic;\nFor\
659 \ Beijing we only manage 'basic' attribute - the serviceCharacteristicValue\
664 description: "Indicates the (class) type of resource.\nNot used in Beijing\
668 description: "This field provided a link to the schema describing this REST\
669 \ resource.\nNot used in Beijing Release"
671 serviceCharacteristicValue:
672 description: "Value of the characteristic.\nThis attribute must be used in\
673 \ Beijing Release to provide characteristic value."
675 CreateServiceOrderItem:
676 description: "This structure is used in the operation POST for a serviceOrder\
677 \ request to describe an item.\nAttribute description is not accurate and should\
678 \ be find in the serviceOrderItem class."
685 description: "Identifier of the line item (generally it is a sequence number\
689 $ref: "#/definitions/ActionType"
691 description: "Indicates the type of resource."
694 description: "A link to the schema describing this REST resource"
697 description: "Indicates the base type of the resource."
699 orderItemRelationship:
702 $ref: "#/definitions/OrderItemRelationship"
704 $ref: "#/definitions/Service"
706 description: "This structure is used in the operation POST for a serviceOrder\
707 \ request.\nAttribute description is not accurate and should be find in the\
708 \ serviceOrder class."
712 description: "ID given by the consumer and only understandable by him (to\
713 \ facilitate his searches)"
716 description: "A way that can be used by consumers to prioritize orders in\
717 \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\
721 description: "A free-text description of the service order"
724 description: "Used to categorize the order that can be useful for the OM system\
725 \ (e.g. “broadband”, “TVOption”, ...)"
728 description: "Order start date wished by the requestor"
731 requestedCompletionDate:
732 description: "Requested delivery date from the requestor perspective"
747 $ref: "#/definitions/RelatedParty"
751 $ref: "#/definitions/OrderRelationship"
755 $ref: "#/definitions/CreateServiceOrderItem"
757 description: "An HUB resource is used by client side to subscribe to notification.\n\
758 Not managed in the Beijing release."