Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page is currently being written. Although the information below is probably accurate, it may not be complete or may have errors.


The information on this page applies to iSymphony 3.2+.


The REST Live API allows external applications to query provides information about the current real time state of the iSymphony server, and exposes resources used to execute actions, via HTTP requests, that are normally available in the iSymphony client application. This a HTTP REST interface. This API can be used to integrate external applications with iSymphony, and provide information for custom iSymphony widget developmentby providing live information about users and call state in the system, and at the same time allowing those applications to preform actions. The information and actions provided are similar to those found in the client interface. In conjunction with the CRM Widget, this API can also be used to create custom widgets for the iSymphony client interface.

titleOn this page:

Table of Contents

Resource Instance IDs

All resource instances specify Every instance of a REST resource specifies a UUID, that is serves as a unique identifier for that specific instance of the resource instance. These UUIDs can be used in the REST URLs to access a specific instance of a resource. These UUIDs are the same ids that are used to identify objects in the Event API, allowing collaboration between the Live REST API and the Event API.   

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:

Code Block
titleNote on UUID persistance

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.

Configuration IDs

Some resource instances will provide configuration ids, that specify the id of the configuration object that is related to the live object. These are the same ids used to access resources in the REST Configuration API, allowing collaboration between the REST Live API and the REST Configuration API.

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.


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

Code Block

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

Code Block

Document Notation

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

Code Block
[{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.

Resource List

Children Display

Notes on Resource



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 resourcea specific resource instance. 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.