The Harrier MMHS API is a JSON API over WebSocket and HTTP that allows Web applications to easily submit and retrieve Military Messages. This API is provided by Isode’s Harrier server product. Harrier MMHS API can be used for any application. It is particularly suitable for use by C2 (Command and Control) applications to send and receive military messages containing MTF (Message Text Format) data such as ADatP-3, APP-11 or OTH-Gold, as described in the whitepaper C2 Systems use of MTF and Messaging.


Harrier Client use of Harrier MMHS API

The Harrier Military Messaging Client is provided as  server. The UI for Harrier is a JavaScript module that runs in a Web browser. The Harrier MMHS API is the interface between the JavaScript client and the server. So, the Harrier MMHS API is built into Harrier and is not an additional component. The primary purpose of the API is to support the Web UI.

The Harrier MMHS API can also be used by applications other than the Harrier UI, and it is this type of usage described in this product overview. The Harrier API is specified as a JSON interface, primarily using WebSockets, but also using HTTP. It is a specification of how to use the interface, and unlike more traditional APIs, does not require any Isode-provided libraries.

Application Usage of Harrier MMHS API

Applications can make use of the Harrier MMHS API to communicate with Harrier Server. There are two broad approaches to use this API:

  1. A JavaScript application, running in a Web browser, that uses the API in a manner analogous to the Harrier UI.
  2. A traditional application, using a JSON/WebSocket/HTTP interface (supported in many programming languages) to access Harrier Server.

This provides a simple model for an application to access MMHS services.

Deployment Model

The Harrier MMHS API allows an application to connect to Harrier to submit and retrieve messages. Delivered messages are stored in Isode’s M-Box product.  The API allows messages to be searched for, retrieved and then deleted.

Submitted messages are sent to Isode’s M-Switch product, where they can be distributed using a choice of MMHS Protocols:  ACP 127; STANAG 4406 or MMHS over SMTP. M-Vault holds configuration and account information, used by M-Switch, M-Box and Harrier. It provides authentication for the Web Application.

Key Functions Provided

The Harrier MMHS API is documented and available to all Harrier MMHS API customers and evaluators. The API makes available all of the functions used by the Harrier UI, although it is expected that many API users will use a select subset of these functions. The key functions of the API are:

  • SASL based authentication of client.
  • Access to MMHS Fields including
    • Action/Info Recipients
    • From
    • Action/Info Precedence
    • SICs
    • Security Label
  • Message attachments of any format
  • Support of MTFs including:
    • Independent attachment
    • Inclusion in text body part
    • Extraction from text body part
  • Message Submission
  • Listing of messages in inbox
  • Message search
  • Message retrieval
  • Message deletion
  • Message archive

Commercial Model

The Harrier MMHS API is included with the Harrier product, and so customers purchasing Harrier get the API and have the right to use Harrier with the UI and any application using the Harrier MMHS API. Support covers the UI and Harrier Server use by applications developed by Isode partners who have purchased the Harrier MMHS API and maintain support for the API with Isode.

Harrier MMHS API Support Package is sold to Isode partners who develop applications using the API. This package includes:

  • Rights to develop applications using the API.
  • API documentation.
  • Example JavaScript applications, with documentation, with focus on anticipated C2 use of the API.
  • Support for the API.
  • Information on planned updates to the API. Changes to the API will be avoided where possible, but some are expected as the technology moves forward.