API Version: Development

REST Request Format

JSON Request Method

Most API REST requests will need to provide a JSON description of the request - This should be submitted using an HTTP(S) POST request.
The Content-Type is expected to be application/json, although almost any content type that does not trigger <FORM> processing will suffice.
A request that does not meet the above specification will be processed as well as possible, and if the POST body cannot be found or interpreted, it will be reas as an empty object {}, which may be sufficient for some requests.

JSON Request format

The IPCortex REST API interface provides a set of calls allowing one-off requests, resulting in an immediate response. Fundamentally these requests will either manipulate some IPCortex Communication System configuration, or will trigger an action. Even if the action itself executes asynchronously, the REST call will return to indicate whether it requested the action.

Path

https://pabx.hostname/rest/section/verb/type
Path Element Description
section refers to the sub-part of the REST API being referenced such as 'ops' or 'command'.
verb the action to execute; 'create', 'read', 'update', 'delete'.
type (Optional) the data-type - This may be specified on the path or in the JSON, e.g. 'authinfo' or 'ddi'.

Body (JSON)

Much of the following will be optional depending on the type of request.
{
    "type":"data-type",
    "scope":{ ... },
    "columns":[ ... ],
    "values":{ ... },
    "order":[ ... ],
    "auth":{ ... }
}

Response (JSON)

Much of the following will be optional depending on the type of request.
{
    "result":"success or fail",
    "values":[
        { ... }, ...
    ]
}
Where relevant, the values array contains a list of objects. Each object contains column: data pairs based on the requested columns.