{ "_copyright": "Copyright (C) 2012 - 2013, Digium, Inc.", "_author": "David M. Lee, II ", "_svn_revision": "$Revision$", "apiVersion": "0.0.1", "swaggerVersion": "1.1", "basePath": "http://localhost:8088/stasis", "resourcePath": "/api-docs/bridges.{format}", "apis": [ { "path": "/bridges", "description": "Active bridges", "operations": [ { "httpMethod": "GET", "summary": "List active bridges.", "nickname": "getBridges", "responseClass": "List[Bridge]" }, { "httpMethod": "POST", "summary": "Create a new bridge.", "notes": "This bridge persists until it has been shut down, or Asterisk has been shut down.", "nickname": "newBridge", "responseClass": "Bridge", "parameters": [ { "name": "type", "description": "Type of bridge to create.", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "string", "allowedValues": { "type": "LIST", "values": [ "two-party", "multi-party", "holding" ] } } ] } ] }, { "path": "/bridges/{bridgeId}", "description": "Individual bridge", "operations": [ { "httpMethod": "GET", "summary": "Get bridge details.", "nickname": "getBridge", "responseClass": "Bridge", "parameters": [ { "name": "bridgeId", "description": "Bridge's id", "paramType": "path", "required": true, "allowMultiple": false, "dataType": "string" } ] }, { "httpMethod": "DELETE", "summary": "Shut down a bridge.", "notes": "If any channels are in this bridge, they will be removed and resume whatever they were doing beforehand.", "nickname": "deleteBridge", "responseClass": "void", "parameters": [ { "name": "bridgeId", "description": "Bridge's id", "paramType": "path", "required": true, "allowMultiple": false, "dataType": "string" } ] } ] }, { "path": "/bridges/{bridgeId}/addChannel", "description": "Add a channel to a bridge", "operations": [ { "httpMethod": "POST", "summary": "Add a channel to a bridge.", "nickname": "addChannelToBridge", "responseClass": "void", "parameters": [ { "name": "bridgeId", "description": "Bridge's id", "paramType": "path", "required": true, "allowMultiple": false, "dataType": "string" }, { "name": "channel", "description": "Channel's id", "paramType": "query", "required": true, "allowMultiple": true, "dataType": "string" } ] } ] }, { "path": "/bridges/{bridgeId}/removeChannel", "description": "Remove a channel from a bridge", "operations": [ { "httpMethod": "POST", "summary": "Remove a channel from a bridge.", "nickname": "removeChannelFromBridge", "responseClass": "void", "parameters": [ { "name": "bridgeId", "description": "Bridge's id", "paramType": "path", "required": true, "allowMultiple": false, "dataType": "string" }, { "name": "channel", "description": "Channel's id", "paramType": "query", "required": true, "allowMultiple": true, "dataType": "string" } ] } ] }, { "path": "/bridges/{bridgeId}/record", "description": "Record audio on a bridge", "operations": [ { "httpMethod": "POST", "summary": "Start a recording.", "notes": "This records the mixed audio from all channels participating in this bridge.", "nickname": "recordBridge", "responseClass": "LiveRecording", "parameters": [ { "name": "bridgeId", "description": "Bridge's id", "paramType": "path", "required": true, "allowMultiple": false, "dataType": "string" }, { "name": "name", "description": "Recording's filename", "paramType": "query", "required": true, "allowMultiple": false, "dataType": "string" }, { "name": "maxDurationSeconds", "description": "Maximum duration of the recording, in seconds. 0 for no limit.", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "int", "defaultValue": 0 }, { "name": "maxSilenceSeconds", "description": "Maximum duration of silence, in seconds. 0 for no limit.", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "int", "defaultValue": 0 }, { "name": "append", "description": "If true, and recording already exists, append to recording.", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "boolean", "defaultValue": false }, { "name": "beep", "description": "Play beep when recording begins", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "boolean", "defaultValue": false }, { "name": "terminateOn", "description": "DTMF input to terminate recording.", "paramType": "query", "required": false, "allowMultiple": false, "dataType": "string", "defaultValue": "none", "allowableValues": { "valueType": "LIST", "values": [ "none", "any", "*", "#" ] } } ] } ] } ], "models": { "Bridge": { "id": "Bridge", "properties": { "bridgeType": { "type": "string", "description": "Type of bridge technology", "required": true, "allowedValues": { "type": "LIST", "values": [ "two-party", "multi-party", "holding" ] } }, "channels": { "type": "List[string]", "description": "Id's of channels participating in this bridge", "required": true } } } } }