Skip to content

Live Output Data

The output data is in the form of Predictions, Episodes, Confidence Score and Explanation Score and are organized as Falkonry generated signals. Each type of the Falkonry generated signals has its own identity and an endpoint to get the data.

Signal Data API </apis/raw_points> can be used to retrieve the data for each of the Falkonry generated signals using an unique identity referred as Signal ID. To get the relevant ID use the following Live Context API.

Query Parameters

?modelType=

Set as CONDITION to get live models of Falkonry Patterns and set as ANOMALY to get live models of Falkonry Insights.

?model=

Filter the Live Contexts by model. Set this to Model ID retrieved from the Jobs API </apis/fetch_model>{.interpreted-text role="doc"}.

?assessment=

Filter the Live Contexts by assessment. Set this to Assessment ID.

?isCommonModel=

Get list of Live Contexts each corresponding to a Live Common Model (i.e. M[0]) and a live entity. Set this to true.

?offset=

Index to start for the next paginated request. Default value is 0.

?limit=

Number of items to include in each page result. There could be fewer items remaining than the specified value.

?sort=

Sort the items by time. Set this to -createTime to get latest item first.

Example request

::::: tabs ::: code-tab bash

\$ curl -H \"Authorization: Bearer \<token>\" https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/livecontexts?isCommonModel=true&modelType=CONDITION&offset=0&limit=1000 :::

::: code-tab python

import requests URL = \'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/livecontexts?isCommonModel=true&modelType=CONDITION&offset=0&limit=1000\' TOKEN = \'\<token>\' HEADERS = {\'Authorization\': f\'Bearer {TOKEN}\'} response = requests.get(URL, headers=HEADERS) print(response.json()) ::: :::::

Example response

[
  {
    "id": "938027869534007296",
    "tenant": "xxxxxxxxxxxxxxx",
    "model": "mmmmmmmmmmmmmmm",
    "entity": "eeeeeeeeeeee",
    "type": "entities.livecontext",
    "modelType": "CONDITION",
    "contextIds": [],
    "inputContexts": [],
    "evalStartTime": "2023-07-30T13:57:46.260000Z",
    "outputContexts": [
      {
        "context": "919892128240259072.919887302722867200",
        "type": "Numeric",
        "signal": "919892128240259072",
        "signalKey": "explanations-orz7kd747m",
        "signalName": "Explanation-sensor2"
      },
      {
        "context": "919892128361893888.919887302722867200",
        "type": "Numeric",
        "signal": "919892128361893888",
        "signalKey": "explanations-onz6216rgo",
        "signalName": "Explanation-sensor3"
      },
      {
        "context": "919892128395448320.919887302722867200",
        "type": "Numeric",
        "signal": "919892128395448320",
        "signalKey": "explanations-qwl3573r9m",
        "signalName": "Explanation-sensor1"
      },
      {
        "context": "919892128768741376.919887302722867200",
        "type": "Categorical",
        "signal": "919892128768741376",
        "signalKey": "predictions",
        "signalName": "Predictions"
      },
      {
        "context": "919892128873598976.919887302722867200",
        "type": "Numeric",
        "signal": "919892128873598976",
        "signalKey": "confidences",
        "signalName": "Confidences"
      },
      {
        "context": "919892129074925568.919887302722867200",
        "type": "Events",
        "signal": "919892129074925568",
        "signalKey": "episodes",
        "signalName": "Episodes"
      }
    ],
    "datastream": "yyyyyyyyyyyy",
    "assessment": "zzzzzzzzzzzz",
    "createTime": 1643713671812,
    "updateTime": 1643713671812,
    "isCommonModel": true,
    "links": []
  }
]

Note

To paginate through results, begin with an offset value of 0 and a limit value of N. To get the next page, set the offset value to N while the limit value stays the same. Subsequent pages start at 2N, 3N, 4N, and so on.

The API response will have a unique Live Context object for each entity. Use the context id (also referred to as Signal ID) of corresponding Falkonry generated signal within the outputContexts JSON array to get the output data via Signal Data API </apis/raw_points>.

For example, use 919892128768741376.919887302722867200 as Signal ID to get Predictions data for entity eeeeeeeeeeee.

Check Live Monitoring Liveliness

Each entity that is live monitoring has a corresponding Live Context. To know the liveliness of the live model for an entity, you can use the evalStartTime property from the above Live Context API response. This is the timestamp until which all the signal data for the entity is considered for live monitoring and Falkonry generated signals must have data until this timestamp. You can automate the monitoring liveliness check by using the above API.

This timestamp will always be behind the fast moving signal to give tolerance to the slow moving signals to have the data ready for processing. In case this timestamp falls behind by couple of hours from the current time, you can initiate the investigation by first looking at the Connection summary or signal\'s latest data point time under All Signals section to know how recent Falkonry received the data.