asterisk/rest-api/api-docs/applications.json
Mark Michelson 7a8d6bc81b Bump ARI version to 2.0.0
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
2016-11-18 10:56:31 -05: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": "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
}
}
}
}
}