Files
asterisk/rest-api/api-docs/applications.json
David M. Lee 40a7f68e4b ari: Remove support for specifying channel vars during origination.
When we added support for specifying channel variables for an
origination, we didn't consider how that would interact with another
feature, namely specifying request parameters in a JSON request body.

The method of specifying channel variables (as a flat JSON object passed
in the JSON body) interferes with parsing parameters out of the request
body.

Unfortunately, fixing this would be a backward incompatible change. In
the interest of keeping the API sane and keeping our release schedule,
we're dropping the feature for specifying channel variables in the
origination request.

We will bring the feature back soon, as a backward compatible addition
to the API.

(closes issue ASTERISK-23051)
Review: https://reviewboard.asterisk.org/r/3088
........

Merged revisions 404509 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-12-20 22:04:15 +00:00

173 lines
4.3 KiB
JSON

{
"_copyright": "Copyright (C) 2013, Digium, Inc.",
"_author": "David M. Lee, II <dlee@digium.com>",
"_svn_revision": "$Revision$",
"apiVersion": "1.0.0",
"swaggerVersion": "1.1",
"basePath": "http://localhost:8088/stasis",
"resourcePath": "/api-docs/applications.{format}",
"apis": [
{
"path": "/applications",
"description": "Stasis applications",
"operations": [
{
"httpMethod": "GET",
"summary": "List all applications.",
"nickname": "list",
"responseClass": "List[Application]"
}
]
},
{
"path": "/applications/{applicationName}",
"description": "Stasis application",
"operations": [
{
"httpMethod": "GET",
"summary": "Get details of an application.",
"nickname": "get",
"responseClass": "Application",
"parameters": [
{
"name": "applicationName",
"description": "Application's name",
"paramType": "path",
"required": true,
"allowMultiple": false,
"dataType": "string"
}
],
"errorResponses": [
{
"code": 404,
"reason": "Application does not exist."
}
]
}
]
},
{
"path": "/applications/{applicationName}/subscription",
"description": "Stasis application",
"operations": [
{
"httpMethod": "POST",
"summary": "Subscribe an application to a event source.",
"notes": "Returns the state of the application after the subscriptions have changed",
"nickname": "subscribe",
"responseClass": "Application",
"parameters": [
{
"name": "applicationName",
"description": "Application's name",
"paramType": "path",
"required": true,
"allowMultiple": false,
"dataType": "string"
},
{
"name": "eventSource",
"description": "URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}/{resource}, deviceState:{deviceName}",
"paramType": "query",
"required": true,
"allowMultiple": true,
"dataType": "string"
}
],
"errorResponses": [
{
"code": 400,
"reason": "Missing parameter."
},
{
"code": 404,
"reason": "Application does not exist."
},
{
"code": 422,
"reason": "Event source does not exist."
}
]
},
{
"httpMethod": "DELETE",
"summary": "Unsubscribe an application from an event source.",
"notes": "Returns the state of the application after the subscriptions have changed",
"nickname": "unsubscribe",
"responseClass": "Application",
"parameters": [
{
"name": "applicationName",
"description": "Application's name",
"paramType": "path",
"required": true,
"allowMultiple": false,
"dataType": "string"
},
{
"name": "eventSource",
"description": "URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}/{resource}, deviceState:{deviceName}",
"paramType": "query",
"required": true,
"allowMultiple": true,
"dataType": "string"
}
],
"errorResponses": [
{
"code": 400,
"reason": "Missing parameter; event source scheme not recognized."
},
{
"code": 404,
"reason": "Application does not exist."
},
{
"code": 409,
"reason": "Application not subscribed to event source."
},
{
"code": 422,
"reason": "Event source does not exist."
}
]
}
]
}
],
"models": {
"Application": {
"id": "Application",
"description": "Details of a Stasis application",
"properties": {
"name": {
"type": "string",
"description": "Name of this application",
"required": true
},
"channel_ids": {
"type": "List[string]",
"description": "Id's for channels subscribed to.",
"required": true
},
"bridge_ids": {
"type": "List[string]",
"description": "Id's for bridges subscribed to.",
"required": true
},
"endpoint_ids": {
"type": "List[string]",
"description": "{tech}/{resource} for endpoints subscribed to.",
"required": true
},
"device_names": {
"type": "List[string]",
"description": "Names of the devices subscribed to.",
"required": true
}
}
}
}
}