RIC:1060: Change in PTL
[ric-plt/xapp-frame.git] / api / xapp_rest_api.yaml
old mode 100755 (executable)
new mode 100644 (file)
index e229422..c2e1be0
@@ -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.4
   title: RIC subscription
   license:
     name: Apache 2.0
@@ -19,6 +19,7 @@ paths:
       operationId: getXappConfigList
       produces:
         - application/json
+        - application/xml
       responses:
         '200':
           description: successful query of xApp config
@@ -30,7 +31,7 @@ paths:
     get:
       summary: Returns list of subscriptions
       tags:
-        - "query"
+        - common
       operationId: getAllSubscriptions
       produces:
         - application/json
@@ -41,60 +42,38 @@ paths:
             $ref: '#/definitions/SubscriptionList'
         '500':
           description: Internal error
-  /subscriptions/report:
     post:
       tags:
-      - "report"
-      summary: Subscribe a list of X2AP event triggers to receive "REPORT" messages sent by RAN or Subscribe to receive the content of gNB NRT table in REPORT message sent by RAN
-      operationId: subscribeReport
+        - common
+      operationId: Subscribe
+      summary: Subscribe a list of X2AP event triggers to receive messages sent by RAN
       consumes:
         - application/json
       produces:
         - application/json
       parameters:
-        - name: ReportParams
+        - name: SubscriptionParams
           in: body
-          description: Subscription report parameters
+          description: Subscription parameters
           schema:
-            $ref: '#/definitions/ReportParams'
+            $ref: '#/definitions/SubscriptionParams'
       responses:
         '201':
           description: Subscription successfully created
           schema:
             $ref: '#/definitions/SubscriptionResponse'
         '400':
+          description: Not Found
+        '404':
           description: Invalid input
         '500':
           description: Internal error
-  /subscriptions/policy:
-    post:
-      tags:
-      - "policy"
-      summary: Subscribe and send "POLICY" message to RAN to execute a specific POLICY during call processing in RAN after each occurrence of a defined SUBSCRIPTION
-      operationId: subscribePolicy
-      consumes:
-        - application/json
-      produces:
-        - application/json
-      parameters:
-        - name: PolicyParams
-          in: body
-          description: Subscription policy parameters
-          schema:
-            $ref: '#/definitions/PolicyParams'
-      responses:
-        '201':
-          description: Subscription successfully created
-          schema:
-            $ref: '#/definitions/SubscriptionResponse'
-        '400':
-          description: Invalid input
-        '500':
-          description: Internal error
-  /subscriptions/{subscriptionId}:
+        '503':
+          description: Service Unavailable
+  '/subscriptions/{subscriptionId}':
     delete:
       tags:
-      - "common"
+        - common
       summary: Unsubscribe X2AP events from Subscription Manager
       operationId: Unsubscribe
       consumes:
@@ -115,6 +94,22 @@ paths:
         '500':
           description: Internal error
 definitions:
+  ConfigMetadata:
+    type: object
+    required:
+      - xappName
+      - configType
+    properties:
+      xappName:
+        type: string
+        description: Name of the xApp
+      configType:
+        type: string
+        description: The type of the content
+        enum:
+          - json
+          - xml
+          - other
   XAppConfig:
     type: object
     required:
@@ -130,162 +125,147 @@ definitions:
     type: array
     items:
       $ref: '#/definitions/XAppConfig'
-  SubscriptionType:
-    type: string
-    enum:
-      - insert
-      - policy
-      - report
-  ReportParams:
+  ActionDefinition:
+    type: array
+    description: E2SM byte array. ActionDefinition is an OPTIONAL IE
+    items:
+      type: integer
+  SubsequentAction:
+    description: SubsequentAction is an OPTIONAL IE
     type: object
     required:
-      - RANFunctionID
-      - ClientEndpoint
-      - EventTriggers
+      - SubsequentActionType
+      - TimeToWait
     properties:
-      Meid:
+      SubsequentActionType:
         type: string
-      RANFunctionID:
-        type: integer
-      ClientEndpoint:
+        enum:
+          - continue
+          - wait
+      TimeToWait:
         type: string
-      EventTriggers:
-        $ref: '#/definitions/EventTriggerList'
-      ReportActionDefinitions:
-        $ref: '#/definitions/ReportActionDefinition'
-  EventTrigger:
+        enum:
+          - zero
+          - w1ms
+          - w2ms
+          - w5ms
+          - w10ms
+          - w20ms
+          - w30ms
+          - w40ms
+          - w50ms
+          - w100ms
+          - w200ms
+          - w500ms
+          - w1s
+          - w2s
+          - w5s
+          - w10s
+          - w20s
+          - w60s
+  ActionToBeSetup:
     type: object
+    required:
+      - ActionID
+      - ActionType
     properties:
-      InterfaceDirection:
-        type: integer
-      ProcedureCode:
+      ActionID:
         type: integer
-      TypeOfMessage:
-        type: integer
-      TriggerNature:
+        minimum: 0
+        maximum: 255
+      ActionType:
         type: string
         enum:
-          - now
-          - on change
-      PlmnId:
-        type: string
-      ENBId:
-        type: string
-  EventTriggerList:
+          - insert
+          - policy
+          - report
+      ActionDefinition:
+        $ref: '#/definitions/ActionDefinition'
+      SubsequentAction:
+        $ref: '#/definitions/SubsequentAction'
+  ActionsToBeSetup:
     type: array
     items:
-      $ref: '#/definitions/EventTrigger'
-  ActionParameters:
-    type: object
-    required:
-      - ActionParameterID
-      - ActionParameterValue
-    properties:
-      ActionParameterID:
-        type: integer
-      ActionParameterValue:
-        type: boolean
-  Format1ActionDefinition:
+      $ref: '#/definitions/ActionToBeSetup'
+  EventTriggerDefinition:
+    type: array
+    description: E2SM byte array
+    items:
+      type: integer
+  SubscriptionDetail:
     type: object
     required:
-      - StyleID
-      - ActionParameters
+      - XappEventInstanceId
+      - EventTriggers
+      - ActionToBeSetupList
     properties:
-      StyleID:
+      XappEventInstanceId:
         type: integer
-      ActionParameters:
-        type: array
-        items:
-          $ref: '#/definitions/ActionParameters'
-  ReportActionDefinition:
-    type: object
-    properties:
-      ActionDefinitionFormat1:
-        $ref: '#/definitions/Format1ActionDefinition'
-  PolicyParams:
+        minimum: 0
+        maximum: 65535
+      EventTriggers:
+        $ref: '#/definitions/EventTriggerDefinition'
+      ActionToBeSetupList:
+        $ref: '#/definitions/ActionsToBeSetup'
+  SubscriptionDetailsList:
+    type: array
+    items:
+      $ref: '#/definitions/SubscriptionDetail'
+  SubscriptionParams:
     type: object
     required:
+      - ClientEndpoint
       - Meid
       - RANFunctionID
-      - ClientEndpoint
-      - EventTriggers
-      - PolicyActionDefinitions
+      - SubscriptionDetails
     properties:
+      SubscriptionId:
+       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'
+            type: string
+          HTTPPort:
+            description: xApp HTTP service address port
+            type: integer
+            minimum: 0
+            maximum: 65535
+          RMRPort:
+            description: xApp RMR service address port
+            type: integer
+            minimum: 0
+            maximum: 65535
       Meid:
         type: string
       RANFunctionID:
         type: integer
-      ClientEndpoint:
-        type: string
-      EventTriggers:
-        $ref: '#/definitions/EventTriggerList'
-      PolicyActionDefinitions:
-        $ref: '#/definitions/PolicyActionDefinition'
-  PolicyActionDefinition:
-    type: object
-    properties:
-      ActionDefinitionFormat2:
-        $ref: '#/definitions/Format2ActionDefinition'
-  Format2ActionDefinition:
-    type: object
-    required:
-      - RANUeGroupParameters
-    properties:
-      RANUeGroupParameters:
-        type: array
-        items:
-          $ref: '#/definitions/RANUeGroupList'
-  RANUeGroupList:
-    type: object
-    required:
-      - RANUeGroupID
-      - RANUeGroupDefinition
-      - RANImperativePolicy
-    properties:
-      RANUeGroupID:
-        type: integer
-      RANUeGroupDefinition:
-        $ref: '#/definitions/RANUeGroupParams'
-      RANImperativePolicy:
-        $ref: '#/definitions/ImperativePolicyDefinition'
-  RANUeGroupParams:
-    type: object
-    required:
-      - RANParameterID
-      - RANParameterValue
-    properties:
-      RANParameterID:
-        type: integer
-      RANParameterTestCondition:
-        type: string
-        enum:
-          - equal
-          - greaterthan
-          - lessthan
-          - contains
-          - present
-      RANParameterValue:
-        type: integer
-  ImperativePolicyDefinition:
-    type: object
-    required:
-      - PolicyParameterID
-      - PolicyParameterValue
-    properties:
-      PolicyParameterID:
-        type: integer
-      PolicyParameterValue:
-        type: integer
-  SubscriptionInstance:
-    type: object
-    required:
-      - RequestorId
-      - InstanceId
-    properties:
-      RequestorId:
-        type: integer
-      InstanceId:
-        type: integer
+        minimum: 0
+        maximum: 4095
+      E2SubscriptionDirectives:
+        description: Optional. If not set Submgr uses its default values
+        type: object
+        properties:
+          E2TimeoutTimerValue:
+            description: How long time response is waited from E2 node
+            type: integer
+            minimum: 1
+            maximum: 10
+          E2RetryCount:
+            description: How many times E2 subscription request is retried
+            type: integer
+            minimum: 0
+            maximum: 10
+          RMRRoutingNeeded:
+            description: Subscription needs RMR route from E2Term to xApp 
+            type: boolean
+      SubscriptionDetails:
+        $ref: '#/definitions/SubscriptionDetailsList'
   SubscriptionResponse:
     type: object
     required:
@@ -298,6 +278,31 @@ definitions:
         type: array
         items:
           $ref: '#/definitions/SubscriptionInstance'
+  SubscriptionInstance:
+    type: object
+    required:
+      - XappEventInstanceId
+      - E2EventInstanceId
+    properties:
+      XappEventInstanceId:
+        type: integer
+        minimum: 0
+        maximum: 65535
+      E2EventInstanceId:
+        type: integer
+        minimum: 0
+        maximum: 65535
+      ErrorCause:
+        description: Descriptive error cause. Empty string when no error.
+        type: string
+      ErrorSource:
+        description: Source of error cause.
+        type: string
+        enum: [SUBMGR, RTMGR, DBAAS, ASN1, E2Node]
+      TimeoutType:
+        description: Type timeout. xApp should retry if timeout occurs.
+        type: string
+        enum: [E2-Timeout, RTMGR-Timeout, DBAAS-Timeout]
   SubscriptionData:
     type: object
     properties:
@@ -305,12 +310,16 @@ definitions:
         type: integer
       Meid:
         type: string
-      Endpoint:
+      ClientEndpoint:
         type: array
         items:
           type: string
+      SubscriptionInstances:
+        type: array
+        items:
+          $ref: '#/definitions/SubscriptionInstance'
   SubscriptionList:
     type: array
     description: A list of subscriptions
     items:
-       $ref: '#/definitions/SubscriptionData'
\ No newline at end of file
+      $ref: '#/definitions/SubscriptionData'