REST API for interacting with Agent Server
The Base Technology Software Agent Server supports a full-featured REST API for all interactions with developers, users, and administrative control. This API uses the HTTP protocol with its POST, GET, PUT, and DELETE verbs and passes information via the URL path, URL query parameters, and JSON structures. In fact, the complete definition for a software agent can be expressed in a single JSON structure. All information about the server, users, and agents is expressed in JSON, but there is a "format" option to use XML, CSV, or text for various API calls.
Administrative controls include starting, stopping, pausing, and resuming the agent server, as well as throttle controls for operations such as web and email access, and the ability to disable and enable individual users and their agents.
Individual users can define their own agents, but it is expected that developers will provide the definitions of agents, including their internal scripts, and that users will then instantiate and control those definitions with specific parameter settings.
There is one other form of interaction: email notifications. Agents can notify users of conditions, events, options, and choices via email. This could be information-only, optionally require confirmation or a yes/no choice, or even a selection from a list of options. The user may make their selection by clicking a link in the email message, which is actually a REST API call to signal the agent about that choice selection.
It is expected and hoped that others will create web and mobile device-based user interfaces. Or, that partners will contract for the development of customized user interfaces for specific applications of software agents.
The underlying concept here is that the agent server provides an easy to use REST API that enables the use of software agent technology for a very wide range of applications rather than providing a complete packaged solution for a limited set of applications.