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$" ,
2015-09-29 14:53:58 -05:00
"apiVersion" : "1.9.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 (x86_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
}
}
}