Subscription via REST interface
[ric-plt/xapp-frame.git] / api / xapp_rest_api.yaml
1 swagger: '2.0'
2 info:
3   description: This is the initial REST API for RIC subscription
4   version: 0.0.1
5   title: RIC subscription
6   license:
7     name: Apache 2.0
8     url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
9 host: hostname
10 basePath: /ric/v1
11 schemes:
12   - http
13 paths:
14   /subscriptions/report:
15     post:
16       tags:
17       - "report"
18       summary: Subscribe a list of X2AP event triggers to receive "REPORT" messages sent by RAN
19       operationId: subscribeReport
20       consumes:
21         - application/json
22       produces:
23         - application/json
24       parameters:
25         - name: ReportParams
26           in: body
27           description: Subscription report parameters
28           schema:
29             $ref: '#/definitions/ReportParams'
30       responses:
31         '201':
32           description: Subscription successfully created
33           schema:
34             $ref: '#/definitions/SubscriptionResult'
35         '400':
36           description: Invalid input
37         '500':
38           description: Internal error
39   /subscriptions/control:
40     post:
41       tags:
42       - "control"
43       summary: Subscribe and send "CONTROL" message to RAN to initiate or resume call processing in RAN
44       operationId: subscribeControl
45       consumes:
46         - application/json
47       produces:
48         - application/json
49       parameters:
50         - name: ControlParams
51           in: body
52           description: Subscription control parameters
53           schema:
54             $ref: '#/definitions/ControlParams'
55       responses:
56         '201':
57           description: Subscription successfully created
58           schema:
59             $ref: '#/definitions/SubscriptionResult'
60         '400':
61           description: Invalid input
62         '500':
63           description: Internal error
64   /subscriptions/policy:
65     post:
66       tags:
67       - "policy"
68       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
69       operationId: subscribePolicy
70       consumes:
71         - application/json
72       produces:
73         - application/json
74       parameters:
75         - name: PolicyParams
76           in: body
77           description: Subscription policy parameters
78           schema:
79             $ref: '#/definitions/PolicyParams'
80       responses:
81         '201':
82           description: Subscription successfully created
83           schema:
84             $ref: '#/definitions/SubscriptionResult'
85         '400':
86           description: Invalid input
87         '500':
88           description: Internal error
89   /subscriptions/{subscriptionId}:
90     delete:
91       tags:
92       - "common"
93       summary: Unsubscribe X2AP events from Subscription Manager
94       operationId: Unsubscribe
95       parameters:
96         - name: subscriptionId
97           in: path
98           description: The subscriptionId to be unsubscribed
99           required: true
100           type: integer
101       responses:
102         '204':
103           description: Operation done successfully
104         '400':
105           description: Invalid requestorId supplied
106         '500':
107           description: Internal error
108 definitions:
109   SubscriptionType:
110     type: string
111     enum:
112       - control
113       - insert
114       - policy
115       - report
116   ReportParams:
117     type: object
118     required:
119       - RequestorId
120       - EventTriggers
121     properties:
122       RequestorId:
123         type: integer
124       EventTriggers:
125         $ref: '#/definitions/EventTriggerList'
126   EventTrigger:
127     type: object
128     required:
129       - InterfaceDirection
130       - ProcedureCode
131       - TypeOfMessage
132     properties:
133       InterfaceDirection:
134         type: integer
135       ProcedureCode:
136         type: integer
137       TypeOfMessage:
138         type: integer
139       PlmnId:
140         type: string
141       ENBId:
142         type: integer
143   EventTriggerList:
144     type: array
145     items:
146       $ref: '#/definitions/EventTrigger'
147   SubscriptionResult:
148     type: array
149     description: A list of unique IDs
150     items:
151       type: integer
152   ControlParams:
153     type: object
154     properties:
155       RequestorId:
156         type: integer
157       TBD:
158         type: string
159   PolicyParams:
160     type: object
161     properties:
162       RequestorId:
163         type: integer
164       TBD:
165         type: string