-----
====== API Introduction ======
* RADIUSdesk is designed in such a way that there is a hard separation between the GUI and the web application providing data to the GUI.
* We use Ext JS for the GUI.
* Ext JS Classic is used with laptop and desktop browsers.
* Ext JS Modern is used with mobile devices.
* All the actions that the GUI do are API calls to a CakePHP web application.
* This means that it is easy to determine the URL and data required for an action.
* This also means that the API calls can be done by any other system thus making third party integration a snap.
* Each API call has to include a token which is associated with the user that logged in on the RADIUSdesk GUI.
* Most of the API calls will also include a cloud_id to indicate on which cloud the action is to be applied.
====== Common Actions ======
* Many larger ISPs that makes use of RADIUSdesk prefer it above the commercial one size fits all solutions that already includes CRM and billing components.
* RADIUSdesk allows for easy integration with existing CRM systems and middle-ware.
* See the diagram below which illustrates the possibilities.
{{:technical:api:api_overview.png }}
* Common actions include:
* Adding Profiles.
* Adding Realms.
* Adding Permanent Users.
* Disabling and Enabling Permanent Users.
* Changing Permanent User Profiles.
* Terminating a Permanent User's session.
* Deleting a Permanent User.
* We will cover how to do these actions using the API in dedicated Wiki pages.