API








APPLICATION PROGRAMMING INTERFACE


The BrainGenix API is the primary interface with the system. Users make calls to either api.braingenix.org or their own locally hosted instance. This design allows users to run their code on nearly any platform, enabling the server to do the heavy-lifting. Interactions from a client are sent through an intermediate API server (the API gateway) which handles authentication and request validation. Once validated, requests are forwarded on to the relevant services on the backend for processing.


GOALS


The API aims to create an easy-to-manage unified interface across all BrainGenix functions. Researchers may interact with the platform by making calls to the API, such as simulation creation and management. When ready, a single API call can be made to run a massive simulation - from any device. The decoupling of simulations from client hardware is done to enable easy research regardless of the platform used. Additionally, the API should allow for many different language bindings (e.g. Python) to be created, allowing even more flexability.


PROGRESS


Currently, API can be accessed at our public test endpoint (api.braingenix.org). Additionally, our GitLab repository contains the latest changes in the codebase. We have implemented this gateway in C++ with a focus on performance. Simple HTTP requests enable just about anything to talk with the API. To see a list of all supported routes, please see our documentation. If you're interested in checking out our roadmap and progress, please head over to our Issues Board on GitLab.