The Assimilation Project  based on Assimilation version 1.1.7.1474836767
APIs

At this point in time, we support three different APIs:

  • a command line query API
  • a REST query API
  • and event API

Command Line Query API

The command line query provides the ability to perform a number of canned queries from the command line, and receive the results to standard output. There is a blog article describing the API in more detail. This API is suitable for use by scripts or integrating into chat room bots.

REST Query API

The REST query API is an exact mirror of the command line queries, except they are provided over a REST interface. At this writing, the REST server (currently named flask/hello.py) is not started by default.

Event API

The event API is a simple fork/exec API. When an event occurs in the CMA, it creates an AssimEvent object for that event. The information from that AssimEvent object is then passed to whatever scripts are executable in /usr/share/notification.d. Simple attributes of the AssimEvent come through named ASSIM_attribute-name. More specifically, string, unicode, into, float, long and bool objects receive this treatment. The entire AssimEvent is rendered into a JSON string and passed to the script as its standard input. A sample email notification script can be found on github. This script is a worked example of how to use the event API. A README in that same directory gives additional details on the API.

In the future, events may be available by other methods besides fork/exec, but not as of this writing.