This will change when we implement categories in the new UI.
In order to populate a GUI for interacting with LAS you need to be able to ask the server about what data sets, variables, views, and operations (together with their options) are available. And you need to be able to understand the relationships between these different objects. Our user interface uses a REST architecture (in the loose sense of transmitting domain-specific data over HTTP without any additional messaging layer like SOAP or HTTP cookies).
Right now there are five actions which can be queried to pull data from the server to populate a UI for LAS. To some extent the access is hierarchical. In other words, sometimes you need data from one or more of the previous requests to be able to make the next query. The five actions are:
All of these return JSON responses. The responses are detailed (complete with UML diagrams(someday)) on their respective documentation pages linked to the list above.
There are three basic types of JSON objects (maddeningly one of which is called JSON Object), a JSON Value, a JSON Array and a JSON Object. The JSON Array is a comma separated list of JSON Values enclosed in square brackets. A JSON Value is one of the primative types string, number, true, false or null or a JSON Array or JSON Object. A JSON Object is an associative array with a string as a key and a JSON Value as a value (implemented as a comma separated list of colon separated name value pairs enclosed in curly brakets). Got it? If not, check out json.org.