2013-04-22 14:58:53 +00:00
{
"_copyright" : "Copyright (C) 2012 - 2013, Digium, Inc." ,
"_author" : "David M. Lee, II <dlee@digium.com>" ,
"_svn_revision" : "$Revision$" ,
2016-11-18 09:45:27 -06:00
"apiVersion" : "1.10.0" ,
2013-04-22 14:58:53 +00:00
"swaggerVersion" : "1.1" ,
2014-09-20 23:41:17 +00:00
"basePath" : "http://localhost:8088/ari" ,
2013-04-22 14:58:53 +00:00
"resourcePath" : "/api-docs/asterisk.{format}" ,
"apis" : [
2015-07-08 16:39:35 -05:00
{
"path" : "/asterisk/config/dynamic/{configClass}/{objectType}/{id}" ,
"description" : "Asterisk dynamic configuration" ,
"operations" : [
{
"httpMethod" : "GET" ,
"summary" : "Retrieve a dynamic configuration object." ,
"nickname" : "getObject" ,
"responseClass" : "List[ConfigTuple]" ,
"parameters" : [
{
"name" : "configClass" ,
"description" : "The configuration class containing dynamic configuration objects." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "objectType" ,
"description" : "The type of configuration object to retrieve." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "id" ,
"description" : "The unique identifier of the object to retrieve." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 404 ,
"reason" : "{configClass|objectType|id} not found"
}
]
},
{
"httpMethod" : "PUT" ,
"summary" : "Create or update a dynamic configuration object." ,
"nickname" : "updateObject" ,
"responseClass" : "List[ConfigTuple]" ,
"parameters" : [
{
"name" : "configClass" ,
"description" : "The configuration class containing dynamic configuration objects." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "objectType" ,
"description" : "The type of configuration object to create or update." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "id" ,
"description" : "The unique identifier of the object to create or update." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "fields" ,
"description" : "The body object should have a value that is a list of ConfigTuples, which provide the fields to update. Ex. [ { \"attribute\": \"directmedia\", \"value\": \"false\" } ]" ,
"paramType" : "body" ,
"required" : false ,
"dataType" : "containers" ,
"allowMultiple" : false
}
],
"errorResponses" : [
{
"code" : 400 ,
"reason" : "Bad request body"
},
{
"code" : 403 ,
"reason" : "Could not create or update object"
},
{
"code" : 404 ,
"reason" : "{configClass|objectType} not found"
}
]
},
{
"httpMethod" : "DELETE" ,
"summary" : "Delete a dynamic configuration object." ,
"nickname" : "deleteObject" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "configClass" ,
"description" : "The configuration class containing dynamic configuration objects." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "objectType" ,
"description" : "The type of configuration object to delete." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
},
{
"name" : "id" ,
"description" : "The unique identifier of the object to delete." ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 403 ,
"reason" : "Could not delete object"
},
{
"code" : 404 ,
"reason" : "{configClass|objectType|id} not found"
}
]
}
]
},
2013-04-22 14:58:53 +00:00
{
"path" : "/asterisk/info" ,
"description" : "Asterisk system information (similar to core show settings)" ,
"operations" : [
{
"httpMethod" : "GET" ,
"summary" : "Gets Asterisk system information." ,
2013-11-07 21:10:31 +00:00
"nickname" : "getInfo" ,
2013-04-22 14:58:53 +00:00
"responseClass" : "AsteriskInfo" ,
"parameters" : [
{
"name" : "only" ,
"description" : "Filter information returned" ,
"paramType" : "query" ,
"required" : false ,
"allowMultiple" : true ,
"dataType" : "string" ,
"allowableValues" : {
"valueType" : "LIST" ,
"values" : [
2013-10-02 19:20:27 +00:00
"build" ,
"system" ,
"config" ,
"status"
2013-04-22 14:58:53 +00:00
]
}
}
]
}
]
2013-07-08 14:46:20 +00:00
},
2015-06-26 10:57:15 -05:00
{
"path" : "/asterisk/modules" ,
"description" : "Asterisk modules" ,
"operations" : [
{
"httpMethod" : "GET" ,
"summary" : "List Asterisk modules." ,
"nickname" : "listModules" ,
"responseClass" : "List[Module]"
}
]
},
2015-07-13 10:54:51 -05:00
{
"path" : "/asterisk/modules/{moduleName}" ,
"description" : "Asterisk module" ,
"operations" : [
{
"httpMethod" : "GET" ,
"summary" : "Get Asterisk module information." ,
"nickname" : "getModule" ,
"responseClass" : "Module" ,
"parameters" : [
{
"name" : "moduleName" ,
"description" : "Module's name" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Module could not be found in running modules."
},
{
"code" : 409 ,
"reason" : "Module information could not be retrieved."
}
]
2015-07-13 16:00:19 -05:00
},
{
"httpMethod" : "POST" ,
"summary" : "Load an Asterisk module." ,
"nickname" : "loadModule" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "moduleName" ,
"description" : "Module's name" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 409 ,
"reason" : "Module could not be loaded."
}
]
2015-07-14 08:55:14 -05:00
},
{
"httpMethod" : "DELETE" ,
"summary" : "Unload an Asterisk module." ,
"nickname" : "unloadModule" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "moduleName" ,
"description" : "Module's name" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Module not found in running modules."
},
{
"code" : 409 ,
"reason" : "Module could not be unloaded."
}
]
2015-07-14 13:12:32 -05:00
},
{
"httpMethod" : "PUT" ,
"summary" : "Reload an Asterisk module." ,
"nickname" : "reloadModule" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "moduleName" ,
"description" : "Module's name" ,
"paramType" : "path" ,
"required" : true ,
"allowMultiple" : false ,
"dataType" : "string"
}
],
"errorResponses" : [
{
"code" : 404 ,
"reason" : "Module not found in running modules."
},
{
"code" : 409 ,
"reason" : "Module could not be reloaded."
}
]
2015-07-13 10:54:51 -05:00
}
]
},
2015-08-07 14:20:29 -05:00
{
"path" : "/asterisk/logging" ,
"description" : "Asterisk log channels" ,
"operations" : [
{
"httpMethod" : "GET" ,
"summary" : "Gets Asterisk log channel information." ,
"nickname" : "listLogChannels" ,
"responseClass" : "List[LogChannel]"
}
]
},
2015-08-06 15:18:04 -05:00
{
"path" : "/asterisk/logging/{logChannelName}" ,
"description" : "Asterisk log channel" ,
"operations" : [
2015-08-07 11:14:06 -05:00
{
"httpMethod" : "POST" ,
"summary" : "Adds a log channel." ,
"nickname" : "addLog" ,
"responseClass" : "void" ,
"parameters" : [
{
"name" : "logChannelName" ,
"description" : "The log channel to add" ,
"paramType ": " path ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
},
{
" name ": " configuration ",
" description ": " levels of the log channel ",
" paramType ": " query ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
}
],
" errorResponses ": [
{
" code ": 400,
" reason ": " Bad request body "
},
{
" code ": 409,
" reason ": " Log channel could not be created. "
}
]
},
2015-08-06 15:18:04 -05:00
{
" httpMethod ": " DELETE ",
" summary ": " Deletes a log channel. ",
" nickname ": " deleteLog ",
" responseClass ": " void ",
" parameters ": [
{
" name ": " logChannelName ",
" description ": " Log channels name ",
" paramType ": " path ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
}
],
" errorResponses ": [
{
" code ": 404,
" reason ": " Log channel does not exist. "
}
]
}
]
},
2015-07-29 14:17:09 -05:00
{
" path ": " /asterisk/logging/ { logChannelName } /rotate ",
" description ": " Asterisk log channel ",
" operations ": [
{
" httpMethod ": " PUT ",
" summary ": " Rotates a log channel. ",
" nickname ": " rotateLog ",
" responseClass ": " void ",
" parameters ": [
{
" name ": " logChannelName ",
" description ": " Log channel's name ",
" paramType ": " path ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
}
],
" errorResponses ": [
{
" code ": 404,
" reason ": " Log channel does not exist. "
}
]
}
]
},
2013-07-08 14:46:20 +00:00
{
" path ": " /asterisk/variable ",
" description ": " Global variables ",
" operations ": [
{
" httpMethod ": " GET ",
" summary ": " Get the value of a global variable. ",
" nickname ": " getGlobalVar ",
" responseClass ": " Variable ",
" parameters ": [
{
" name ": " variable ",
" description ": " The variable to get ",
" paramType ": " query ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
}
2013-08-21 16:23:59 +00:00
],
" errorResponses ": [
{
" code ": 400,
" reason ": " Missing variable parameter. "
}
2013-07-08 14:46:20 +00:00
]
},
{
" httpMethod ": " POST ",
" summary ": " Set the value of a global variable. ",
" nickname ": " setGlobalVar ",
" responseClass ": " void ",
" parameters ": [
{
" name ": " variable ",
" description ": " The variable to set ",
" paramType ": " query ",
" required ": true,
" allowMultiple ": false,
" dataType ": " string "
},
{
" name ": " value ",
" description ": " The value to set the variable to ",
" paramType ": " query ",
" required ": false,
" allowMultiple ": false,
" dataType ": " string "
}
2013-08-21 16:23:59 +00:00
],
" errorResponses ": [
{
" code ": 400,
" reason ": " Missing variable parameter. "
}
2013-07-08 14:46:20 +00:00
]
}
]
2013-04-22 14:58:53 +00:00
}
],
" models ": {
2013-08-02 14:46:21 +00:00
" BuildInfo ": {
" id ": " BuildInfo ",
" description ": " Info about how Asterisk was built ",
" properties ": {
" os ": {
" required ": true,
" type ": " string ",
" description ": " OS Asterisk was built on. "
},
" kernel ": {
" required ": true,
" type ": " string ",
" description ": " Kernel version Asterisk was built on. "
},
" options ": {
" required ": true,
" type ": " string ",
" description ": " Compile time options , or empty string if default. "
},
" machine ": {
" required ": true,
" type ": " string ",
" description ": " Machine architecture (x 86 _ 64 , i686, ppc, etc.) "
},
" date ": {
" required ": true,
" type ": " string ",
" description ": " Date and time when Asterisk was built. "
},
" user ": {
" required ": true,
" type ": " string ",
" description ": " Username that build Asterisk "
}
}
},
" SystemInfo ": {
" id ": " SystemInfo ",
" description ": " Info about Asterisk ",
" properties ": {
" version ": {
" required ": true,
" type ": " string ",
" description ": " Asterisk version. "
},
" entity_id ": {
" required ": true,
" type ": " string ",
" description ": ""
}
}
},
" SetId ": {
" id ": " SetId ",
" description ": " Effective user/group id ",
" properties ": {
" user ": {
" required ": true,
" type ": " string ",
" description ": " Effective user id. "
},
" group ": {
" required ": true,
" type ": " string ",
" description ": " Effective group id. "
}
}
},
" ConfigInfo ": {
" id ": " ConfigInfo ",
" description ": " Info about Asterisk configuration ",
" properties ": {
" name ": {
" required ": true,
" type ": " string ",
" description ": " Asterisk system name. "
},
" default_language ": {
" required ": true,
" type ": " string ",
" description ": " Default language for media playback. "
},
" max_channels ": {
" required ": false,
" type ": " int ",
" description ": " Maximum number of simultaneous channels. "
},
" max_open_files ": {
" required ": false,
" type ": " int ",
" description ": " Maximum number of open file handles (files , sockets). "
},
" max_load ": {
" required ": false,
" type ": " double ",
" description ": " Maximum load avg on system. "
},
" setid ": {
" required ": true,
" type ": " SetId ",
" description ": " Effective user/group id for running Asterisk. "
}
}
},
" StatusInfo ": {
" id ": " StatusInfo ",
" description ": " Info about Asterisk status ",
" properties ": {
" startup_time ": {
" required ": true,
" type ": " Date ",
" description ": " Time when Asterisk was started. "
},
" last_reload_time ": {
" required ": true,
" type ": " Date ",
" description ": " Time when Asterisk was last reloaded. "
}
}
},
2013-04-22 14:58:53 +00:00
" AsteriskInfo ": {
" id ": " AsteriskInfo ",
2013-07-03 16:32:41 +00:00
" description ": " Asterisk system information ",
2013-08-02 14:46:21 +00:00
" properties ": {
" build ": {
" required ": false,
" type ": " BuildInfo ",
" description ": " Info about how Asterisk was built "
},
" system ": {
" required ": false,
" type ": " SystemInfo ",
" description ": " Info about the system running Asterisk "
},
" config ": {
" required ": false,
" type ": " ConfigInfo ",
" description ": " Info about Asterisk configuration "
},
" status ": {
" required ": false,
" type ": " StatusInfo ",
" description ": " Info about Asterisk status "
}
}
2013-07-08 14:46:20 +00:00
},
2015-06-26 10:57:15 -05:00
" Module ": {
" id ": " Module ",
" description ": " Details of an Asterisk module ",
" properties ": {
" name ": {
" type ": " string ",
" description ": " The name of this module ",
" required ": true
},
" description ": {
" type ": " string ",
" description ": " The description of this module ",
" required ": true
},
" use_count ": {
" type ": " int ",
" description ": " The number of times this module is being used ",
" required ": true
},
" status ": {
" type ": " string ",
" description ": " The running status of this module ",
" required ": true
},
" support_level ": {
" type ": " string ",
" description ": " The support state of this module ",
" required ": true
}
}
},
2015-07-29 14:17:09 -05:00
" LogChannel ": {
" id ": " LogChannel ",
" description ": " Details of an Asterisk log channel ",
" properties ": {
2015-08-06 15:18:04 -05:00
" channel ": {
2015-07-29 14:17:09 -05:00
" type ": " string ",
" description ": " The log channel path ",
" required ": true
},
" type ": {
" type ": " string ",
" description ": " Types of logs for the log channel ",
" required ": true
},
" status ": {
" type ": " string ",
" description ": " Whether or not a log type is enabled ",
" required ": true
},
" configuration ": {
2015-08-07 11:14:06 -05:00
" type ": " string ",
2015-07-29 14:17:09 -05:00
" description ": " The various log levels ",
" required ": true
}
}
},
2013-07-08 14:46:20 +00:00
" Variable ": {
" id ": " Variable ",
2013-07-10 13:50:48 +00:00
" description ": " The value of a channel variable ",
2013-07-08 14:46:20 +00:00
" properties ": {
2013-07-10 13:50:48 +00:00
" value ": {
2013-07-08 14:46:20 +00:00
" required ": true,
" type ": " string ",
" description ": " The value of the variable requested "
}
}
2015-07-08 16:39:35 -05:00
},
" ConfigTuple ": {
" id ": " ConfigTuple ",
" description ": " A key/value pair that makes up part of a configuration object. ",
" properties ": {
" attribute ": {
" required ": true,
" type ": " string ",
" description ": " A configuration object attribute. "
},
" value ": {
" required ": true,
" type ": " string ",
" description ": " The value for the attribute."
}
}
2013-04-22 14:58:53 +00:00
}
}
}