The information on this page applies to iSymphony 3.2+.

Description

The REST Live API allows external applications to query information about the current state of the iSymphony server and execute actions, via HTTP requests, that are normally available in the iSymphony client application. This API can be used to integrate external applications with iSymphony, and provide information for custom iSymphony widget development.

 

Resource Instance IDs

All resource instances specify a UUID that is a unique identifier for that specific resource instance. These UUIDs can be used in the REST URLs to access a specific instance of a resource.

For example the URL below provides access to an extension instance with a UUID of ef2faba9-8557-49c1-9ffc-5a71f41c7a23, in a core server with a UUID of ca5de6c4-17bd-46ce-95a2-8b29c7812ca4:

http://localhost:58080/communication_manager/rest/live/coreServers/ca5de6c4-17bd-46ce-95a2-8b29c7812ca4/extensions/ef2faba9-8557-49c1-9ffc-5a71f41c7a23

The Live API UUIDs do not persist across restarts of the iSymphony server. If the server is restarted the objects will contain new UUIDs. Also, if an object is destroyed then re-added, even with the same configuration, the UUID that represents that object will be different from the original.

Accessing Resource Instances By Symbolic Name

In addition to accessing resource instances by UUID, resource instances can also be accessed by their symbolic name. Most, but not all resources contain a symbolic name. The path section getByName can be used to access a resource instance by it symbolic name. Documentation for a specific resource will specify if the resource can be accessed by symbolic name, and what the symbolic name property is.

Examples

The following path will access the extension, with extension number 4224, in the core server, with a slug of default.

http://localhost:58080/communication_manager/rest/live/coreServers/getByName/default/extensions/getByName/4224


You can mix and match UUIDs and getByName in the REST URLs, like so:

http://localhost:58080/communication_manager/rest/live/coreServers/getByName/default/extensions/ef2faba9-8557-49c1-9ffc-5a71f41c7a23

Document Notation

When a parent resource path can be access by UUID and getByName, the path in the documentation will specify the following format:

[{UUID} | getByName/{symbolic_name}]

This specifies that the instance can be accessed via "UUID" OR "getByName/symbolic_name". {UUID} and {symbolic_name} will be replaced with more specific names.

REST Resources

The Live API exposes several REST resources that allow access to the current state of specific objects in the system. All current live resources are listed below. Details concerning each resource, and their actions, can be found within the individual resource documentation pages.

Notes on Resource Documents

Due to the interdependent nature of resources in the system, the resource path information in the documentation is split into several sections. Paths in a specific section may relate to, or require paths specified in other sections.

  • Root Resource Paths : Specifies paths that can be used to access sets (multiple instances), of a resource in relation to a parent resource.
  • Instance Resource Paths : Specifies paths that can be used to access a specific instance of a resource. These paths require a Root Resource Path, in most cases, but not all.
  • Sub Resource Paths : Specifies paths that provide access to the child resources of an instance of the resource. These paths require an Instance Resource Path.
  • Action Paths: Specifies paths that are used to perform actions on a specific resource instance. These paths require an Instance Resource Path.