Update events to use Swagger 1.3 subtyping, and related aftermath
[asterisk/asterisk.git] / rest-api / api-docs / recordings.json
1 {
2         "_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.",
3         "_author": "David M. Lee, II <dlee@digium.com>",
4         "_svn_revision": "$Revision$",
5         "apiVersion": "0.0.1",
6         "swaggerVersion": "1.1",
7         "basePath": "http://localhost:8088/stasis",
8         "resourcePath": "/api-docs/recordings.{format}",
9         "apis": [
10                 {
11                         "path": "/recordings/stored",
12                         "description": "Recordings",
13                         "operations": [
14                                 {
15                                         "httpMethod": "GET",
16                                         "summary": "List recordings that are complete.",
17                                         "nickname": "getStoredRecordings",
18                                         "responseClass": "List[StoredRecording]"
19                                 }
20                         ]
21                 },
22                 {
23                         "path": "/recordings/stored/{recordingId}",
24                         "description": "Individual recording",
25                         "operations": [
26                                 {
27                                         "httpMethod": "GET",
28                                         "summary": "Get a stored recording's details.",
29                                         "nickname": "getStoredRecording",
30                                         "responseClass": "StoredRecording",
31                                         "parameters": [
32                                                 {
33                                                         "name": "recordingId",
34                                                         "description": "Recording's id",
35                                                         "paramType": "path",
36                                                         "required": true,
37                                                         "allowMultiple": false,
38                                                         "dataType": "string"
39                                                 }
40                                         ]
41                                 },
42                                 {
43                                         "httpMethod": "DELETE",
44                                         "summary": "Delete a stored recording.",
45                                         "nickname": "deleteStoredRecording",
46                                         "responseClass": "void",
47                                         "parameters": [
48                                                 {
49                                                         "name": "recordingId",
50                                                         "description": "Recording's id",
51                                                         "paramType": "path",
52                                                         "required": true,
53                                                         "allowMultiple": false,
54                                                         "dataType": "string"
55                                                 }
56                                         ]
57                                 }
58                         ]
59                 },
60                 {
61                         "path": "/recordings/live",
62                         "description": "Recordings that are in progress",
63                         "operations": [
64                                 {
65                                         "httpMethod": "GET",
66                                         "summary": "List libe recordings.",
67                                         "nickname": "getLiveRecordings",
68                                         "responseClass": "List[LiveRecording]"
69                                 }
70                         ]
71                 },
72                 {
73                         "path": "/recordings/live/{recordingId}",
74                         "description": "A recording that is in progress",
75                         "operations": [
76                                 {
77                                         "httpMethod": "GET",
78                                         "summary": "List live recordings.",
79                                         "nickname": "getLiveRecording",
80                                         "responseClass": "LiveRecording",
81                                         "parameters": [
82                                                 {
83                                                         "name": "recordingId",
84                                                         "description": "Recording's id",
85                                                         "paramType": "path",
86                                                         "required": true,
87                                                         "allowMultiple": false,
88                                                         "dataType": "string"
89                                                 }
90                                         ]
91                                 },
92                                 {
93                                         "httpMethod": "DELETE",
94                                         "summary": "Stop a live recording and discard it.",
95                                         "nickname": "cancelRecording",
96                                         "responseClass": "void",
97                                         "parameters": [
98                                                 {
99                                                         "name": "recordingId",
100                                                         "description": "Recording's id",
101                                                         "paramType": "path",
102                                                         "required": true,
103                                                         "allowMultiple": false,
104                                                         "dataType": "string"
105                                                 }
106                                         ]
107                                 }
108                         ]
109                 },
110                 {
111                         "path": "/recordings/live/{recordingId}/stop",
112                         "operations": [
113                                 {
114                                         "httpMethod": "POST",
115                                         "summary": "Stop a live recording and store it.",
116                                         "nickname": "stopRecording",
117                                         "responseClass": "void",
118                                         "parameters": [
119                                                 {
120                                                         "name": "recordingId",
121                                                         "description": "Recording's id",
122                                                         "paramType": "path",
123                                                         "required": true,
124                                                         "allowMultiple": false,
125                                                         "dataType": "string"
126                                                 }
127                                         ]
128                                 }
129                         ]
130                 },
131                 {
132                         "path": "/recordings/live/{recordingId}/pause",
133                         "operations": [
134                                 {
135                                         "httpMethod": "POST",
136                                         "summary": "Pause a live recording.",
137                                         "nickname": "pauseRecording",
138                                         "responseClass": "void",
139                                         "parameters": [
140                                                 {
141                                                         "name": "recordingId",
142                                                         "description": "Recording's id",
143                                                         "paramType": "path",
144                                                         "required": true,
145                                                         "allowMultiple": false,
146                                                         "dataType": "string"
147                                                 }
148                                         ]
149                                 }
150                         ]
151                 },
152                 {
153                         "path": "/recordings/live/{recordingId}/unpause",
154                         "operations": [
155                                 {
156                                         "httpMethod": "POST",
157                                         "summary": "Unpause a live recording.",
158                                         "nickname": "unpauseRecording",
159                                         "responseClass": "void",
160                                         "parameters": [
161                                                 {
162                                                         "name": "recordingId",
163                                                         "description": "Recording's id",
164                                                         "paramType": "path",
165                                                         "required": true,
166                                                         "allowMultiple": false,
167                                                         "dataType": "string"
168                                                 }
169                                         ]
170                                 }
171                         ]
172                 },
173                 {
174                         "path": "/recordings/live/{recordingId}/mute",
175                         "operations": [
176                                 {
177                                         "httpMethod": "POST",
178                                         "summary": "Mute a live recording.",
179                                         "nickname": "muteRecording",
180                                         "responseClass": "void",
181                                         "parameters": [
182                                                 {
183                                                         "name": "recordingId",
184                                                         "description": "Recording's id",
185                                                         "paramType": "path",
186                                                         "required": true,
187                                                         "allowMultiple": false,
188                                                         "dataType": "string"
189                                                 }
190                                         ]
191                                 }
192                         ]
193                 },
194                 {
195                         "path": "/recordings/live/{recordingId}/unmute",
196                         "operations": [
197                                 {
198                                         "httpMethod": "POST",
199                                         "summary": "Unmute a live recording.",
200                                         "nickname": "unmuteRecording",
201                                         "responseClass": "void",
202                                         "parameters": [
203                                                 {
204                                                         "name": "recordingId",
205                                                         "description": "Recording's id",
206                                                         "paramType": "path",
207                                                         "required": true,
208                                                         "allowMultiple": false,
209                                                         "dataType": "string"
210                                                 }
211                                         ]
212                                 }
213                         ]
214                 }
215         ],
216         "models": {
217                 "StoredRecording": {
218                         "id": "StoredRecording",
219                         "description": "A past recording that may be played back.",
220                         "properties": {
221                                 "id": {
222                                         "required": true,
223                                         "type": "string"
224                                 },
225                                 "formats": {
226                                         "required": true,
227                                         "type": "List[string]"
228                                 },
229                                 "duration_seconds": {
230                                         "required": false,
231                                         "type": "int"
232                                 },
233                                 "time": {
234                                         "description": "Time recording was started",
235                                         "required": false,
236                                         "type": "Date"
237                                 }
238                         }
239                 },
240                 "LiveRecording": {
241                         "id": "LiveRecording",
242                         "description": "A recording that is in progress",
243                         "properties": {
244                                 "id": {
245                                         "required": true,
246                                         "type": "string"
247                                 }
248                         }
249                 }
250         }
251 }