Subscription REST interface update
[ric-plt/xapp-frame.git] / api / xapp_rest_api.yaml
old mode 100755 (executable)
new mode 100644 (file)
index 018a696..8f08dd9
@@ -1,7 +1,7 @@
-swagger: "2.0"
+swagger: '2.0'
 info:
   description: This is the initial REST API for RIC subscription
-  version: 0.0.1
+  version: 0.0.3
   title: RIC subscription
   license:
     name: Apache 2.0
@@ -31,7 +31,7 @@ paths:
     get:
       summary: Returns list of subscriptions
       tags:
-        - "common"
+        - common
       operationId: getAllSubscriptions
       produces:
         - application/json
@@ -44,7 +44,7 @@ paths:
           description: Internal error
     post:
       tags:
-        - "common"
+        - common
       operationId: Subscribe
       summary: Subscribe a list of X2AP event triggers to receive messages sent by RAN
       consumes:
@@ -69,7 +69,7 @@ paths:
   '/subscriptions/{subscriptionId}':
     delete:
       tags:
-        - "common"
+        - common
       summary: Unsubscribe X2AP events from Subscription Manager
       operationId: Unsubscribe
       consumes:
@@ -103,9 +103,9 @@ definitions:
         type: string
         description: The type of the content
         enum:
-        - json
-        - xml
-        - other
+          - json
+          - xml
+          - other
   XAppConfig:
     type: object
     required:
@@ -121,13 +121,11 @@ definitions:
     type: array
     items:
       $ref: '#/definitions/XAppConfig'
-
   ActionDefinition:
-    type: object
-    description: E2SM Octet string. ActionDefinition is an OPTIONAL IE
-    properties:
-      OctetString:
-        type: string
+    type: array
+    description: E2SM byte array. ActionDefinition is an OPTIONAL IE
+    items:
+      type: integer
   SubsequentAction:
     description: SubsequentAction is an OPTIONAL IE
     type: object
@@ -186,24 +184,18 @@ definitions:
     items:
       $ref: '#/definitions/ActionToBeSetup'
   EventTriggerDefinition:
-    type: object
-    description: E2SM Octet string
-    properties:
-      OctetString:
-        type: string
+    type: array
+    description: E2SM byte array
+    items:
+      type: integer
   SubscriptionDetail:
     type: object
     required:
-      - RequestorId
-      - InstanceId
+      - XappEventInstanceId
       - EventTriggers
       - ActionToBeSetupList
     properties:
-      RequestorId:
-        type: integer
-        minimum: 0
-        maximum: 65535
-      InstanceId:
+      XappEventInstanceId:
         type: integer
         minimum: 0
         maximum: 65535
@@ -224,15 +216,16 @@ definitions:
       - SubscriptionDetails
     properties:
       SubscriptionId:
-        type: string
-        description: Optional subscription ID (Submgr allocates if not given)
+       type: string
+       description: Optional subscription ID (Submgr allocates if not given)
       ClientEndpoint:
         type: object
         description: xApp service address and port
         properties:
           Host:
             description: >-
-              xApp service address name like 'service-ricxapp-xappname-http.ricxapp'
+              xApp service address name like
+              'service-ricxapp-xappname-http.ricxapp'
             type: string
           HTTPPort:
             description: xApp HTTP service address port
@@ -250,6 +243,25 @@ definitions:
         type: integer
         minimum: 0
         maximum: 4095
+      E2SubscriptionDirectives:
+        type: object
+        properties:
+          E2TimeoutTimerValue:
+            description: How long time response is waited from E2 node
+            type: integer
+            default: 2
+            minimum: 1
+            maximum: 10
+          E2RetryCount:
+            description: How many times E2 subscription request is retried
+            type: integer
+            default: 2
+            minimum: 0
+            maximum: 10
+          RMRRoutingNeeded:
+            description: Subscription needs RMR route from E2Term to xApp 
+            type: boolean
+            default: True
       SubscriptionDetails:
         $ref: '#/definitions/SubscriptionDetailsList'
   SubscriptionResponse:
@@ -267,21 +279,46 @@ definitions:
   SubscriptionInstance:
     type: object
     required:
-      - RequestorId
-      - InstanceId
+      - XappEventInstanceId
+      - E2EventInstanceId
       - ErrorCause
+      - ErrorSource
+      - TimeoutType
     properties:
-      RequestorId:
+      XappEventInstanceId:
         type: integer
         minimum: 0
         maximum: 65535
-      InstanceId:
+      E2EventInstanceId:
         type: integer
         minimum: 0
         maximum: 65535
+      RejectCause:
+        description: Reason for REST subscription rejection.
+        type: string
+        default: None
+        enum:
+        - None
+        - REST-subscription-ongoing         # xApp should retry after delay
+        - REST-subscription-delete-ongoing  # xApp should retry after delay
+        - Invalid-REST-request-message
+        - REST-subscription-with-given-id-does-not-exist
+        - E2-interface-down
+        - Other
       ErrorCause:
-        description: Empty string when no error.
+        description: Descriptive error cause. Empty string when no error.
+        type: string
+        default: ''
+      ErrorSource:
+        description: Source of error cause.
+        type: string
+        default: None
+        enum: [None, SUBMGR, RTMGR, DBAAS, ASN1, E2Node]
+      TimeoutType:
+        description: Type timeout. xApp should retry if timeout occours.
         type: string
+        default: None
+        enum: [None, E2-Timeout, RTMGR-Timeout, DBAAS-Timeout]
   SubscriptionData:
     type: object
     properties:
@@ -301,4 +338,4 @@ definitions:
     type: array
     description: A list of subscriptions
     items:
-       $ref: '#/definitions/SubscriptionData'
\ No newline at end of file
+      $ref: '#/definitions/SubscriptionData'