HTTP API - gd-99/symbiogd GitHub Wiki
In order to communicate with the server, the client sends requests to the server. Currently, HTTP requests and WebSocket are supported.
Each app in the webos is supposed to use built-in functions to communicate with the server. Use the HTTP API only if you're building an external app, not working in Symbiose.
- Method: POST
Be careful: you'll have to use the port as set in the configuration file.
The WebSocket server now uses WAMP (version 1). In order to be able to talk with the server, you will need a WAMP-compatible WebSocket client. To call the API, you can send a
CALLmessage with call id
A request must contain these fields:
module: the request's module
action: the request's action
arguments: arguments. Must be JSON-encoded and URI-encoded (see
A request can contain these fields too:
user: the username which will be used to execute the request
password: the user's password (only if
Batch HTTP requests
Batching allows you to pass instructions for several operations in a single HTTP request.
- Method: POST
groupped: must be set to
data: contains a JSON-encoded array of requests
A response is a JSON-encoded string which contain these fields:
success: true if there was no error
statusCode: the response's status code (based on HTTP status codes).
200is returned if there was no error.
channels: Unix-like standard streams: object containing outputs associated with their channel number (1 for standard output, 2 for standard error).
out: main channel, merges all others
data: object containing plain data
You must specify a module name in your request. Each request will be processed by a specific controller. These controllers are stored in
If you want to call a controller named
FileController, the module name will be
file. If you want to call a method named
executeGetContents, the action name will be
- applicationShortcut: retrieve installed applications & categories
- captcha: get and check captchas
- cmd: execute commands
- config: manage applications configuration
- confitureRepository: manage Confiture repositories
- file: manage files
- firefoxMarketplace: manage Firefox Marketplace repository
- ftp: manage FTP connections
- git: manage Git filesystems
- localRepository: manage installed packages
- peer: manage peers
- server: get data about the server
- terminal: manage terminals
- theme: load themes
- translation: get translations (i18n)
- user: manage registered users
- userInterface: load user interfaces
- webSocket: manage the Websocket server