Live Assessments¶
Assessments allow you to take a model (Rule, Anomaly, or Calculated) and make it "live", enabling real-time monitoring of your data.
Create an assessment¶
This flow is used to create an assessment that can be made live.
| Method | Path |
|---|---|
POST |
/api/1.3/accounts/{account_id}/flows |
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | A user-defined name for the flow. |
flowType |
string |
Yes | Must be set to ASSESSMENTSETUP. |
spec.assessmentName |
string |
Yes | The name for the assessment. |
spec.model |
string |
Yes | The ID of the model to be used. |
spec.inputsignals |
array |
Yes | Mapping of signal IDs to model input schema names. |
spec.assessmentState |
string |
No | DISABLED (default) or MONITORING (to auto-start live monitoring). |
spec.assessmentRate |
string |
No | The frequency of evaluation. Overrides model's default assessment rate (Used if state is MONITORING). |
spec.config.delayTolerance |
string |
No | The amount of time to wait for data to arrive before considering it missing. Overrides model's default delay tolerance. |
spec.clockSignals |
array |
No | Signal IDs used to govern the timing of the evaluation. If omitted, the model's default settings are used. |
spec.outputsignals |
array |
No | Map results to existing signals. If omitted, signals are auto-created. |
Usage Examples
Use this when you want Falkonry to automatically create the necessary output signals for your assessment.
{
"name": "create assessment",
"flowType": "ASSESSMENTSETUP",
"description": "creating anomaly assessment",
"spec": {
"assessmentName": "basic_anomaly_asmt",
"model": "{{anomaly_model_id}}",
"inputsignals": [
{
"signal": "{{signal_id1}}",
"name": "sensor1"
}
]
}
}
Use this when you have pre-defined signals where you want to store the output.
{
"name": "create assessment",
"flowType": "ASSESSMENTSETUP",
"description": "creating anomaly assessment 2",
"spec": {
"assessmentName": "basic_anomaly_asmt_2",
"model": "{{anomaly_model_id}}",
"inputsignals": [
{
"signal": "{{signal_id1}}",
"name": "sensor1"
}
],
"outputsignals": [
{
"signal": "{{signal_id}}",
"name": "anomalyscore"
}
]
}
}
Note
The outputsignals field is optional. If left blank, the platform automatically generates output signals using the model's output schema naming format.
Retrieve an assessment¶
Retrieves detailed information for a specific assessment using its ID.
| Method | Path |
|---|---|
POST |
/api/1.3/accounts/{account_id}/assessments/{assessment_id} |
Usage Examples
curl -H "Authorization: Bearer <token>" \\
"https://app3.falkonry.ai/api/1.3/accounts/{ACCOUNT_ID}/assessments/{ASSESSMENT_ID}"
import requests
URL = "https://app3.falkonry.ai/api/1.3/accounts/{ACCOUNT_ID}/assessments/{ASSESSMENT_ID}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(URL, headers=headers)
print(response.json())
Example response
{
"id": "3764775990584",
"name": "m1_high_current",
"type": "entities.Assessment",
"tenant": "4875969603725",
"createTime": 1777416073349,
"updateTime": 1777416106401,
"createdBy": "991422988238282752",
"updatedBy": "991422988238282752",
"archived": false,
"state": "MONITORING",
"assessmentType": "RULE",
"layoutNodes": [
{
"layout": "1497265878350655488",
"id": "1497266843564863488"
}
],
"layoutinfo": [
{
"layout": "1497265878350655488",
"layoutnode": "1497266843564863488",
"version": "1",
"path": [
{
"name": "Metals: Steel Manufacturing",
"id": "1497265941437181952",
"seq": 1
},
{
"name": "Special Steels",
"id": "1497265995925385216",
"seq": 2
},
{
"name": "Pittsburg Plant",
"id": "1497266119384723456",
"seq": 3
},
{
"name": "Zone 1",
"id": "1497266211911069696",
"seq": 4
},
{
"name": "Reheat Furnace",
"id": "1497266595824103424",
"seq": 5
},
{
"name": "Machine 1",
"id": "1497266843564863488",
"seq": 6
}
],
"materializedPath": "Metals: Steel Manufacturing->Special Steels->Pittsburg Plant->Zone 1->Reheat Furnace->Machine 1",
"layoutState": "DRAFT",
"layoutname": "Assets"
}
],
"liveBatchFrequency": "PT15M",
"inputSignalset": "1498816389107105792",
"outputSignalset": "1498816389216157696",
"model": "1498804180065370112",
"version": "1.3",
"isBatch": false,
"clockSignals": [],
"links": []
}
Retrieve signals of an assessment¶
Retrive the input and output signal sets for an assessment.
| Method | Path |
|---|---|
POST |
/api/1.3/accounts/{account_id}/assessments/{assessment_id}?denorm=inputSignalset&denorm=outputSignalset |
Example reponse
{
"id": "764847092752547",
"name": "m1_high_current",
"type": "entities.Assessment",
"tenant": "1873864505786",
"createTime": 1777416073349,
"updateTime": 1777416106401,
"createdBy": "991422988238282752",
"updatedBy": "991422988238282752",
"archived": false,
"state": "MONITORING",
"assessmentType": "RULE",
"layoutNodes": [
{
"layout": "1497265878350655488",
"id": "1497266843564863488"
}
],
"layoutinfo": [
{
"layout": "1497265878350655488",
"layoutnode": "1497266843564863488",
"version": "1",
"path": [
{
"name": "Metals: Steel Manufacturing",
"id": "1497265941437181952",
"seq": 1
},
{
"name": "Special Steels",
"id": "1497265995925385216",
"seq": 2
},
{
"name": "Pittsburg Plant",
"id": "1497266119384723456",
"seq": 3
},
{
"name": "Zone 1",
"id": "1497266211911069696",
"seq": 4
},
{
"name": "Reheat Furnace",
"id": "1497266595824103424",
"seq": 5
},
{
"name": "Machine 1",
"id": "1497266843564863488",
"seq": 6
}
],
"materializedPath": "Metals: Steel Manufacturing->Special Steels->Pittsburg Plant->Zone 1->Reheat Furnace->Machine 1",
"layoutState": "DRAFT",
"layoutname": "Assets"
}
],
"liveBatchFrequency": "PT15M",
"inputSignalset": "1498816389107105792",
"outputSignalset": "1498816389216157696",
"model": "1498804180065370112",
"version": "1.3",
"isBatch": false,
"clockSignals": [],
"links": [
{
"name": "outputSignalset",
"key": "1499082830146387968",
"url": "/api/1.3/accounts/1430214652024516608/signalsets/1498816389216157696",
"type": "entities.Signalset",
"ref": "outputSignalset",
"object": {
"name": "m1_high_current/Outputs",
"tenant": "1430214652024516608",
"createTime": 1777416073853,
"description": "output signals for Assessment m1_high_current type RULE",
"archived": false,
"signals": [
{
"name": "explanations-six_machines/machine1/current3",
"signalType": "USER",
"valueType": "Categorical",
"key": "q1l4x858wo",
"id": "1498816387941089280",
"signal": "1498816387941089280"
},
{
"name": "explanations-six_machines/machine1/current2",
"signalType": "USER",
"valueType": "Categorical",
"key": "q99vr7w73q",
"id": "1498816388217913344",
"signal": "1498816388217913344"
},
{
"name": "explanations-six_machines/machine1/current1",
"signalType": "USER",
"valueType": "Categorical",
"key": "q81952p22o",
"id": "1498816388490543104",
"signal": "1498816388490543104"
},
{
"name": "rule",
"signalType": "USER",
"valueType": "Categorical",
"key": "xmv0p2g3qn",
"id": "1498816388771561472",
"signal": "1498816388771561472"
},
{
"name": "alert",
"signalType": "USER",
"valueType": "Categorical",
"key": "9mxzn1peyq",
"id": "1498816387102228480",
"signal": "1498816387102228480"
}
],
"setType": "OUTPUT",
"key": "qj7p0y3egq",
"links": [],
"id": "1498816389216157696",
"schema": "1491139317562163200",
"workspace": "100000001",
"createdBy": "991422988238282752",
"type": "entities.Signalset",
"updatedBy": "991422988238282752",
"updateTime": 1777416073853
}
},
{
"name": "inputSignalset",
"key": "1499082830171553792",
"url": "/api/1.3/accounts/1430214652024516608/signalsets/1498816389107105792",
"type": "entities.Signalset",
"ref": "inputSignalset",
"object": {
"name": "m1_high_current/Inputs",
"tenant": "1430214652024516608",
"createTime": 1777416073826,
"description": "input signals for Assessment m1_high_current type RULE",
"archived": false,
"signals": [
{
"name": "six_machines/machine1/current3",
"signalType": "USER",
"valueType": "Numeric",
"key": "oe94339jlq",
"id": "1430226701991473152",
"signal": "1430226701991473152"
},
{
"name": "six_machines/machine1/current2",
"signalType": "USER",
"valueType": "Numeric",
"key": "oy3e993wnm",
"id": "1430226712594673664",
"signal": "1430226712594673664"
},
{
"name": "six_machines/machine1/current1",
"signalType": "USER",
"valueType": "Numeric",
"key": "mzzk88zr4m",
"id": "1430226714490499072",
"signal": "1430226714490499072"
}
],
"setType": "INPUT",
"key": "ok986e1lrq",
"links": [],
"id": "1498816389107105792",
"schema": "1491139317511831552",
"workspace": "100000001",
"createdBy": "991422988238282752",
"type": "entities.Signalset",
"updatedBy": "991422988238282752",
"updateTime": 1777416073826
}
}
]
}
Start/Enable live monitoring¶
This flow transitions assessments from a disabled or stopped state to Monitoring mode.
| Method | Path |
|---|---|
POST |
/api/1.3/accounts/{account_id}/flows |
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Name for the flow. |
flowType |
string |
Yes | Must be set to STARTMONITORASSESSMENT. |
spec.query |
object |
Conditional* | Basic filter query (key-value pairs). |
spec.complexQuery |
object |
Conditional* | Advanced logical query (operands and operators). |
spec.assessmentRate |
string |
No | ISO duration (e.g., PT1H) to override default assessment rates. |
Provide either
queryORcomplexQuery, but not both.
Usage Examples
{
"name": "monitor assessment",
"flowType": "STARTMONITORASSESSMENT",
"description": "monitor anomaly assessments",
"spec": {
"query": {
"name": ["basic_anomaly_asmt", "basic_anomaly_asmt_2"],
"assessmentType": ["ANOMALY"]
}
}
}
{
"name": "monitor assessment",
"flowType": "STARTMONITORASSESSMENT",
"description": "monitor anomaly assessments",
"spec": {
"complexQuery": {
"operands": [
{ "name-or": ["basic_anomaly_asmt", "basic_anomaly_asmt_2"] },
{ "assessmentType-and": ["ANOMALY"] }
],
"operator": "and"
}
}
}
Note
When using the STARTMONITORASSESSMENT flow, if assessmentRate is provided, it will override both the individual assessment settings and the underlying model's default rate for the duration of the monitoring session.
"""
Stop/Disable live monitoring¶
This flow stops live monitoring for specified assessments.
| Method | Path |
|---|---|
POST |
/api/1.3/accounts/{account_id}/flows |
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Name for the flow. |
flowType |
string |
Yes | Must be set to STOPMONITORASSESSMENT. |
spec.query |
object |
Conditional* | Basic filter query to select assessments to stop. |
spec.complexQuery |
object |
Conditional* | Complex query to select assessments to stop. |
Usage Example
{
"name": "stop monitor assessment",
"flowType": "STOPMONITORASSESSMENT",
"description": "disable anomaly monitoring",
"spec": {
"query": {
"name": ["basic_anomaly_asmt"]
}
}
}
Field Descriptions
-
query: Executed against your existing assessments. Any assessment matching the provided filters will be acted upon (Start/Stop).Format: { "filter_key": ["value1", "value2"] }. -
complexQuery: Allows for advanced filtering using logical operands (e.g., name-or, assessmentType-and) and an operator (e.g., "and").