Rule Evaluations

Evaluations represent the current state of a rule's execution within a decisioning context. One evaluation exists per active rule per context. Evaluations are read-only — they are created and updated by the platform's processing pipeline.

Endpoints

Method
Path
Description

GET

/contexts/{contextId}/evaluations

List all rule evaluations for a context

GET

/contexts/{contextId}/evaluations/{ruleId}

Get a specific rule's evaluation within a context

GET

/rules/{ruleId}/evaluations

List all evaluations of a rule across contexts

Two access patterns

Both access patterns are first-class:

  • Context-first — "Show me all rule outcomes for this case." Used by underwriters reviewing a specific decision.

  • Rule-first — "Show me how this rule performs across all contexts." Used by rule authors monitoring rule effectiveness.

Get evaluations for a context

GET /contexts/{contextId}/evaluations

Response 200 OK

{
  "data": [
    {
      "evaluationId": "01957c3a-...",
      "ruleId": "01957c3a-abcd-7000-8000-000000000001",
      "contextId": "01957c3a-5678-7000-8000-000000000001",
      "rule": {
        "name": "LTV Threshold Check",
        "category": "affordability",
        "severity": "hard"
      },
      "freshness": "resolved",
      "outcome": false,
      "evaluationTrace": {
        "expression": {
          "<": [{ "var": "property.ltv_ratio" }, 80]
        },
        "result": false,
        "inputs": {
          "property.ltv_ratio": 87.3
        }
      },
      "ruleVersion": 3,
      "computedAt": "2026-02-18T14:32:00Z"
    }
  ]
}

Response fields

Field
Description

rule

Embedded summary so you do not need a separate request to understand which rule this evaluation belongs to

freshness

resolved, stale, or computing — check this before relying on the outcome

outcome

Boolean result of the rule evaluation (true = passed, false = failed)

evaluationTrace

The expression, resolved input values, and logical result

ruleVersion

Which version of the rule was used for this evaluation

computedAt

When this evaluation was last computed

Evaluation trace

The evaluationTrace shows exactly what the rule evaluated:

  • expression — the JSON Logic expression

  • inputs — the resolved field values that were read from the context

  • result — the boolean outcome

For complex expressions with sub-rules, the trace is nested to show which branches passed and which failed.

circle-info

A stale evaluation means the input data has changed since the last computation. The outcome may no longer be accurate. Wait for the platform to recompute, or check back after freshness transitions to resolved.

Get a specific evaluation

Returns the evaluation for a specific rule within a specific context.

Response 200 OK

Same shape as a single item from the list response.

List evaluations across contexts

Returns all evaluations of a rule across all contexts. Useful for understanding how a rule performs globally.

Supports standard filtering:

Filtering evaluations

Context-scoped

The second example returns only resolved hard blocks — the evaluations most relevant to a go/no-go decision.

Rule-scoped

Last updated