In order to not have version number overlap between different versions of Asterisk, each new major version of Asterisk will mean we also bump the ARI major version number. This particular change does NOT introduce any known breaking changes to ARI. For discussion relating to this topice, see: http://lists.digium.com/pipermail/asterisk-dev/2016-November/075964.html Change-Id: I712ee0df177a8fe1252da2bc029705268b97b665
173 lines
4.3 KiB
JSON
173 lines
4.3 KiB
JSON
{
|
|
"_copyright": "Copyright (C) 2013, Digium, Inc.",
|
|
"_author": "David M. Lee, II <dlee@digium.com>",
|
|
"_svn_revision": "$Revision$",
|
|
"apiVersion": "2.0.0",
|
|
"swaggerVersion": "1.1",
|
|
"basePath": "http://localhost:8088/ari",
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|