API Introduction
The API to the database is generated automatically. This is possible because all relevant ACL and consistency checks are implemented in the database.
Which data endpoints are available to a user is publicized in the Universe endpoint, which is available once a user has logged in.
The Universe is a JSON document describing the structure of the database and listing all data endpoints with their options as available to the user.
Apart from the Universe endpoint, there are some non-data endpoints for login (/jwt), password reset etc. Available-Endpoints
The data endpoints are all located under /data and allow data retrieval and changing. This includes access to the system tables (taking permission into account), so administration of the system (resources, permissions, users etc) can be done via those endpoints.
The main data endpoints are
- Queries - /data/$module/$entity/query - retrieve data from an entity (=table)
- Transitions - /data/$module/$entity/$instance/transitions/$transition_name - change data of instance (=row)
Plugins - /plugins/$plugin_name - plugins are similar to functions. They are used when queries and transitions are insufficient, e.g. because a query is too complex or calls get combined for performance reasons. The plugin parameters are defined in the universe, the reply structure is currently not documented there.