ARI: Bridge Playback, Bridge Record
[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/{recordingName}",
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": "recordingName",
34                                                         "description": "The name of the recording",
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": "recordingName",
50                                                         "description": "The name of the recording",
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/{recordingName}",
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": "recordingName",
84                                                         "description": "The name of the recording",
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": "recordingName",
100                                                         "description": "The name of the recording",
101                                                         "paramType": "path",
102                                                         "required": true,
103                                                         "allowMultiple": false,
104                                                         "dataType": "string"
105                                                 }
106                                         ]
107                                 }
108                         ]
109                 },
110                 {
111                         "path": "/recordings/live/{recordingName}/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": "recordingName",
121                                                         "description": "The name of the recording",
122                                                         "paramType": "path",
123                                                         "required": true,
124                                                         "allowMultiple": false,
125                                                         "dataType": "string"
126                                                 }
127                                         ]
128                                 }
129                         ]
130                 },
131                 {
132                         "path": "/recordings/live/{recordingName}/pause",
133                         "operations": [
134                                 {
135                                         "httpMethod": "POST",
136                                         "summary": "Pause a live recording.",
137                                         "notes": "Pausing a recording suspends silence detection, which will be restarted when the recording is unpaused.",
138                                         "nickname": "pauseRecording",
139                                         "responseClass": "void",
140                                         "parameters": [
141                                                 {
142                                                         "name": "recordingName",
143                                                         "description": "The name of the recording",
144                                                         "paramType": "path",
145                                                         "required": true,
146                                                         "allowMultiple": false,
147                                                         "dataType": "string"
148                                                 }
149                                         ]
150                                 }
151                         ]
152                 },
153                 {
154                         "path": "/recordings/live/{recordingName}/unpause",
155                         "operations": [
156                                 {
157                                         "httpMethod": "POST",
158                                         "summary": "Unpause a live recording.",
159                                         "nickname": "unpauseRecording",
160                                         "responseClass": "void",
161                                         "parameters": [
162                                                 {
163                                                         "name": "recordingName",
164                                                         "description": "The name of the recording",
165                                                         "paramType": "path",
166                                                         "required": true,
167                                                         "allowMultiple": false,
168                                                         "dataType": "string"
169                                                 }
170                                         ]
171                                 }
172                         ]
173                 },
174                 {
175                         "path": "/recordings/live/{recordingName}/mute",
176                         "operations": [
177                                 {
178                                         "httpMethod": "POST",
179                                         "summary": "Mute a live recording.",
180                                         "notes": "Muting a recording suspends silence detection, which will be restarted when the recording is unmuted.",
181                                         "nickname": "muteRecording",
182                                         "responseClass": "void",
183                                         "parameters": [
184                                                 {
185                                                         "name": "recordingName",
186                                                         "description": "The name of the recording",
187                                                         "paramType": "path",
188                                                         "required": true,
189                                                         "allowMultiple": false,
190                                                         "dataType": "string"
191                                                 }
192                                         ]
193                                 }
194                         ]
195                 },
196                 {
197                         "path": "/recordings/live/{recordingName}/unmute",
198                         "operations": [
199                                 {
200                                         "httpMethod": "POST",
201                                         "summary": "Unmute a live recording.",
202                                         "nickname": "unmuteRecording",
203                                         "responseClass": "void",
204                                         "parameters": [
205                                                 {
206                                                         "name": "recordingName",
207                                                         "description": "The name of the recording",
208                                                         "paramType": "path",
209                                                         "required": true,
210                                                         "allowMultiple": false,
211                                                         "dataType": "string"
212                                                 }
213                                         ]
214                                 }
215                         ]
216                 }
217         ],
218         "models": {
219                 "StoredRecording": {
220                         "id": "StoredRecording",
221                         "description": "A past recording that may be played back.",
222                         "properties": {
223                                 "id": {
224                                         "required": true,
225                                         "type": "string"
226                                 },
227                                 "formats": {
228                                         "required": true,
229                                         "type": "List[string]"
230                                 },
231                                 "duration_seconds": {
232                                         "required": false,
233                                         "type": "int"
234                                 },
235                                 "time": {
236                                         "description": "Time recording was started",
237                                         "required": false,
238                                         "type": "Date"
239                                 }
240                         }
241                 },
242                 "LiveRecording": {
243                         "id": "LiveRecording",
244                         "description": "A recording that is in progress",
245                         "properties": {
246                                 "name": {
247                                         "required": true,
248                                         "type": "string"
249                                 },
250                                 "state": {
251                                         "required": true,
252                                         "type": "string"
253                                 },
254                                 "format": {
255                                         "required": true,
256                                         "type": "string"
257                                 }
258                         }
259                 }
260         }
261 }