REST API is an interface to SOAP API.
A sample GET style request:
http://api.vidi.zeitin.com/vidi/rest?action=createRoom&apikey=YOURAPIKEY
Return Formats
JSON
It is the standard JSON format. For more info, see http://www.json.org
Stringify
It is an easy to use format just for GET style URLs.
Examples:
A single object: r54778739
An array of objects: r54778739,r94739,r9867123
URL list
// format: url, http method(s), vidiservice method, parameter(s), return format
// notes: optional parameters prefixed with "?"
// hierarcical REST urls
//session urls is the same as flat urls, see below
{"session/rooms", "GET", "listRooms", "apikey", "json"},
{"session/rooms/create", "POST", "createRoom", "apikey, ?record", "json"},
{"session/rooms/send_message", "POST", "sendTextMessage", "apikey, roomid, message", "json"},
{"session/rooms/destroy", "POST, DELETE", "destroyRoom", "apikey, roomid", "json"},
{"session/rooms/clients", "GET", "listClientsInRoom", "apikey, roomid", "json"},
{"session/rooms/clients/create", "POST", "createClientInRoom", "apikey, roomid", "json"},
{"session/rooms/clients/send_message", "POST", "tellClient", "apikey, clientid, message", "json"},
{"session/rooms/clients/destroy", "POST, DELETE", "destroyClient", "apikey, clientid", "json"},
{"session/rooms/clients/outputs", "GET", "listOutputsForClient", "apikey, clientid", "json"},
{"session/rooms/clients/outputs/create", "POST", "createOutputForClient", "apikey, clientid", "json"},
{"session/rooms/clients/outputs/destroy", "POST, DELETE", "destroyOutput", "apikey, outputid", "json"},
{"session/rooms/clients/inputs", "GET", "listInputsForClient", "apikey, clientid", "json"},
{"session/rooms/clients/inputs/create", "POST", "createInputForClient", "apikey, clientid", "json"},
{"session/rooms/clients/inputs/destroy", "POST, DELETE", "destroyInput", "apikey, inputid", "json"},
{"session/rooms/clients/inputs/play_video", "PUT, POST", "playVideoFromInput", "apikey, inputid, videofile", "json"},
{"session/rooms/bindings", "GET", "listBindingsInRoom", "apikey, roomid", "json"},
{"session/rooms/bindings/io", "GET", "getIOOfBinding", "apikey, bindingid", "json"},
{"session/rooms/bindings/create", "POST", "bind", "apikey, inputid, outputid", "json"},
{"session/rooms/bindings/destroy", "POST, DELETE", "unbind", "apikey, bindingid", "json"},
{"session/rooms/bindings/destroy_by_io", "POST, DELETE", "unbindio", "apikey, inputid, outputid", "json"},
//desktop urls is the same as flat urls, see below
//properties urls is the same as flat urls, see below
//TODO: properties will be under the specific resource, ex: session/rooms/clients/properties/set
// flat REST urls
{"session/destroy", "POST, DELETE", "logout", "apikey", "json"},
{"rooms", "GET", "listRooms", "apikey", "json"},
{"rooms/create", "POST", "createRoom", "apikey, ?record", "json"},
{"rooms/send_message", "POST", "sendTextMessage", "apikey, roomid, message", "json"},
{"rooms/destroy", "POST, DELETE", "destroyRoom", "apikey, roomid", "json"},
{"clients", "GET", "listClientsInRoom", "apikey, roomid", "json"},
{"clients/create", "POST", "createClientInRoom", "apikey, roomid", "json"},
{"clients/send_message", "POST", "tellClient", "apikey, clientid, message", "json"},
{"clients/destroy", "POST, DELETE", "destroyClient", "apikey, clientid", "json"},
{"outputs", "GET", "listOutputsForClient", "apikey, clientid", "json"},
{"outputs/create", "POST", "createOutputForClient", "apikey, clientid", "json"},
{"outputs/destroy", "POST, DELETE", "destroyOutput", "apikey, outputid", "json"},
{"inputs", "GET", "listInputsForClient", "apikey, clientid", "json"},
{"inputs/create", "POST", "createInputForClient", "apikey, clientid", "json"},
{"inputs/destroy", "POST, DELETE", "destroyInput", "apikey, inputid", "json"},
{"inputs/play_video", "PUT, POST", "playVideoFromInput", "apikey, inputid, videofile", "json"},
{"bindings", "GET", "listBindingsInRoom", "apikey, roomid", "json"},
{"bindings/io", "GET", "getIOOfBinding", "apikey, bindingid", "json"},
{"bindings/create", "POST", "bind", "apikey, inputid, outputid", "json"},
{"bindings/destroy", "POST, DELETE", "unbind", "apikey, bindingid", "json"},
{"bindings/destroy_by_io", "POST, DELETE", "unbindio", "apikey, inputid, outputid", "json"},
{"desktop/notify", "POST", "desktopNotify", "apikey, desktopid, message", "json"},
{"desktop/ring", "POST", "desktopRing", "apikey, desktopid, message", "json"},
{"properties", "GET", "listProperties", "apikey, where, id, ?access", "json"},
{"properties/get", "GET", "getProperty", "apikey, where, id, key, ?access", "json"},
{"properties/set", "POST, UPDATE", "setProperty", "apikey, where, id, key, value, ?access", "json"},
// GET only REST urls
{"", "GET", "destroyAll", "action, apikey", "stringify"},
{"", "GET", "createRoom", "action, apikey, ?record", "stringify"},
{"", "GET", "destroyRoom", "action, apikey, roomid", "stringify"},
{"", "GET", "listRooms", "action, apikey", "stringify"},
{"", "GET", "createClientInRoom", "action, apikey, roomid", "stringify"},
{"", "GET", "listClientsInRoom", "action, apikey, roomid", "stringify"},
{"", "GET", "destroyClient", "action, apikey, clientid", "stringify"},
{"", "GET", "createOutputForClient", "action, apikey, clientid", "stringify"},
{"", "GET", "listOutputsForClient", "action, apikey, clientid", "stringify"},
{"", "GET", "destroyOutput", "action, apikey, outputid", "stringify"},
{"", "GET", "createInputForClient", "action, apikey, clientid", "stringify"},
{"", "GET", "listInputsForClient", "action, apikey, clientid", "stringify"},
{"", "GET", "destroyInput", "action, apikey, inputid", "stringify"},
{"", "GET", "bind", "action, apikey, inputid, outputid", "stringify"},
{"", "GET", "unbind", "action, apikey, bindingid", "stringify"},
{"", "GET", "unbindio", "action, apikey, inputid, outputid", "stringify"},
{"", "GET", "playVideoFromInput", "action, apikey, inputid, videofile", "stringify"},
{"", "GET", "listBindingsInRoom", "action, apikey, roomid", "stringify"},
{"", "GET", "getIOOfBinding", "action, apikey, bindingid", "stringify"},
{"", "GET", "isInputActive", "action, apikey, inputid", "stringify"},
{"", "GET", "isOutputActive", "action, apikey, outputid", "stringify"},
{"", "GET", "isBindingActive", "action, apikey, bindingid", "stringify"},
{"", "GET", "sendTextMessage", "action, apikey, roomid, message", "stringify"},
{"", "GET", "tellClient", "action, apikey, clientid, message", "stringify"},
{"", "GET", "desktopNotify", "action, apikey, desktopid, message", "stringify"},
{"", "GET", "desktopRing", "action, apikey, desktopid, message", "stringify"},
{"", "GET", "setProperty", "action, apikey, where, id, key, value, ?access", "stringify"},
{"", "GET", "listProperties", "action, apikey, where, id, ?access", "stringify"},
{"", "GET", "getProperty", "action, apikey, where, id, key, ?access", "stringify"},