Get interface for subscriptions
[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:
15     get:
16       summary: Returns list of subscriptions
17       tags:
18         - "query"
19       operationId: getAllSubscriptions
20       produces:
21         - application/json
22       responses:
23         '200':
24           description: successful query of subscriptions
25           schema:
26             $ref: '#/definitions/SubscriptionList'
27         '500':
28           description: Internal error
29   /subscriptions/report:
30     post:
31       tags:
32       - "report"
33       summary: Subscribe a list of X2AP event triggers to receive "REPORT" messages sent by RAN
34       operationId: subscribeReport
35       consumes:
36         - application/json
37       produces:
38         - application/json
39       parameters:
40         - name: ReportParams
41           in: body
42           description: Subscription report parameters
43           schema:
44             $ref: '#/definitions/ReportParams'
45       responses:
46         '201':
47           description: Subscription successfully created
48           schema:
49             $ref: '#/definitions/SubscriptionResult'
50         '400':
51           description: Invalid input
52         '500':
53           description: Internal error
54   /subscriptions/control:
55     post:
56       tags:
57       - "control"
58       summary: Subscribe and send "CONTROL" message to RAN to initiate or resume call processing in RAN
59       operationId: subscribeControl
60       consumes:
61         - application/json
62       produces:
63         - application/json
64       parameters:
65         - name: ControlParams
66           in: body
67           description: Subscription control parameters
68           schema:
69             $ref: '#/definitions/ControlParams'
70       responses:
71         '201':
72           description: Subscription successfully created
73           schema:
74             $ref: '#/definitions/SubscriptionResult'
75         '400':
76           description: Invalid input
77         '500':
78           description: Internal error
79   /subscriptions/policy:
80     post:
81       tags:
82       - "policy"
83       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
84       operationId: subscribePolicy
85       consumes:
86         - application/json
87       produces:
88         - application/json
89       parameters:
90         - name: PolicyParams
91           in: body
92           description: Subscription policy parameters
93           schema:
94             $ref: '#/definitions/PolicyParams'
95       responses:
96         '201':
97           description: Subscription successfully created
98           schema:
99             $ref: '#/definitions/SubscriptionResult'
100         '400':
101           description: Invalid input
102         '500':
103           description: Internal error
104   /subscriptions/{subscriptionId}:
105     delete:
106       tags:
107       - "common"
108       summary: Unsubscribe X2AP events from Subscription Manager
109       operationId: Unsubscribe
110       parameters:
111         - name: subscriptionId
112           in: path
113           description: The subscriptionId to be unsubscribed
114           required: true
115           type: integer
116       responses:
117         '204':
118           description: Operation done successfully
119         '400':
120           description: Invalid requestorId supplied
121         '500':
122           description: Internal error
123 definitions:
124   SubscriptionType:
125     type: string
126     enum:
127       - control
128       - insert
129       - policy
130       - report
131   ReportParams:
132     type: object
133     required:
134       - RequestorId
135       - EventTriggers
136     properties:
137       RequestorId:
138         type: integer
139       EventTriggers:
140         $ref: '#/definitions/EventTriggerList'
141   EventTrigger:
142     type: object
143     required:
144       - InterfaceDirection
145       - ProcedureCode
146       - TypeOfMessage
147     properties:
148       InterfaceDirection:
149         type: integer
150       ProcedureCode:
151         type: integer
152       TypeOfMessage:
153         type: integer
154       PlmnId:
155         type: string
156       ENBId:
157         type: integer
158   EventTriggerList:
159     type: array
160     items:
161       $ref: '#/definitions/EventTrigger'
162   SubscriptionResult:
163     type: array
164     description: A list of unique IDs
165     items:
166       type: integer
167   ControlParams:
168     type: object
169     properties:
170       RequestorId:
171         type: integer
172       TBD:
173         type: string
174   PolicyParams:
175     type: object
176     properties:
177       RequestorId:
178         type: integer
179       TBD:
180         type: string
181   SubscriptionData:
182     type: object
183     properties:
184       SubscriptionId:
185         type: integer
186       Meid:
187         type: string
188       Endpoint:
189         type: array
190         items:
191           type: string
192   SubscriptionList:
193     type: array
194     description: A list of subscriptions
195     items:
196        $ref: '#/definitions/SubscriptionData'