Skip to main content

Documentation Index

Fetch the complete documentation index at: https://inorbitinc.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Status definitions create rules that evaluate data source values and flag problems with robots. Statuses are visualized in Fleet dashboards with color-coded indicators and serve as the foundation for incident definitions.

When to Use

  • Threshold monitoring: Flag when battery drops below 20%, temperature exceeds 70°C, etc.
  • String matching: Detect error states from status strings
  • Complex conditions: Combine multiple data sources with expressions for advanced logic
  • Sustained conditions: Only alert when a condition persists for a minimum duration

Status Values

Each status can have three values, displayed in different colors:
ValueColorDescription
OKGreenNormal operation
WARNINGYellowAttention needed
ERRORRedCritical issue

Basic vs. Calculated Status

Basic status: The id must match an existing data source ID. Rules evaluate against that data source’s value directly. Calculated status: Uses the calculated field to define a custom expression combining multiple data sources.

Rules

Rules are evaluated in order—the first matching rule determines the status value.
FieldTypeRequiredDescription
functionstringYesComparison function (see below).
paramsarrayYesArguments for the function.
sustainedForSecondsnumberNoOnly trigger after condition persists for this duration.
statusstringYesStatus value: "OK", "WARNING", or "ERROR".

Functions

FunctionDescriptionExample
ABOVEValue > paramparams: [85] — triggers when value > 85
BELOWValue < paramparams: [20] — triggers when value < 20
EQUALSValue == paramparams: ["error"] — triggers when value equals “error”
NOT_EQUALSValue != paramparams: ["ok"] — triggers when value is not “ok”
CONTAINSValue contains paramparams: ["error"] — triggers when value contains “error”

Examples

Basic: Battery Level

kind: StatusDefinition
apiVersion: v0.1
metadata:
  scope: account/<accountId>
  id: "batteryLevel"  # Must match DataSourceDefinition id
spec:
  rules:
    - function: "BELOW"
      params: [0.2]
      status: "ERROR"
    - function: "BELOW"
      params: [0.4]
      status: "WARNING"

Basic: Motor Temperature

kind: StatusDefinition
apiVersion: v0.1
metadata:
  scope: account/<accountId>
  id: "motorTemperature"
spec:
  rules:
    - function: "ABOVE"
      params: [70]
      status: "WARNING"
    - function: "ABOVE"
      params: [85]
      sustainedForSeconds: 60
      status: "ERROR"

Calculated: Docked But Not Charging

Combines multiple data sources to detect when a robot is docked but not charging:
kind: StatusDefinition
apiVersion: v0.1
metadata:
  scope: account/<accountId>
  id: "dockedNotCharging"
spec:
  calculated:
    label: "Charging issues"
    expression: "getValue('dsDockedStatus') == 1 and not getValue('dsCharging')"
    filter: "getValue('dsDockedStatus') != null"
  rules:
    - function: "EQUALS"
      params: [true]
      sustainedForSeconds: 30
      status: "WARNING"
    - function: "EQUALS"
      params: [true]
      sustainedForSeconds: 120
      status: "ERROR"

Calculated: Navigation Stuck

Detects when a navigating robot has moved less than 2 meters in 60 seconds:
kind: StatusDefinition
apiVersion: v0.1
metadata:
  scope: account/<accountId>
  id: "unableToNavigate"
spec:
  calculated:
    label: "Navigation stuck"
    expression: "(getValue('dsMission') in ['DELIVERY','RETURN-DOCK']) ? visitedAreaDiagonal(60) : null"
  rules:
    - function: "BELOW"
      params: [2]
      sustainedForSeconds: 600
      status: "ERROR"

Calculated Fields

FieldTypeDescription
labelstringDisplay label for this status.
expressionstringExpression to compute the status input value.
filterstringOptional expression. If false, status is not updated.
The number of calculated (advanced) status definitions may be limited in some editions. See the pricing page.