---
title: "List risk condition presets"
description: "List risk condition presets returns the ready-made risk conditions — VIX, yield curve, TIPS, S&P 500 — with their thresholds and what each one detects."
canonical_url: "https://fincanva.com/docs/api-mcp/list-risk-condition-presets"
last_updated: "2026-10-01"
md_url: "https://fincanva.com/docs/api-mcp/list-risk-condition-presets.md"
---

# List risk condition presets

Lists the ready-made risk conditions a strategy can switch on — the VIX, the VIX ratio, TIPS, the yield-curve rules, the S&P 500 against its 200-day average and its 12-month momentum — each with the rule it applies: the indicator, the risk-off and risk-on thresholds, the weeks of delay and which values you may change. On request it also lists the rule types a custom risk condition can use.

Operation id: `list_risk_rule_presets` — REST `POST /api/v1/research/list_risk_rule_presets`, MCP tool `list_risk_rule_presets`.

## When should you use List risk condition presets?

- The user asks which risk-off signals Fincanva has, or how a named one decides.
- Before setting a risk condition on a strategy, to start from a preset.

Use another operation when:

- You need the bounds of every risk-condition field to write a custom condition — use [`describe_portfolio_model`](/docs/api-mcp/describe-the-strategy-model) instead.

## What parameters does List risk condition presets take?

- `group` (optional; string; one of `volatility`, `yield_curve`, `inflation`, `sp500`) — Only the presets of this group: `volatility`, `yield_curve`, `inflation` or `sp500`. Left out, every preset is listed.
- `includeRuleTypes` (optional; boolean; default `false`) — When true, the result also lists the rule types a custom risk condition can use.

## What does List risk condition presets return?

The `result` object holds the fields below. Every result also carries a text `summary`, the `assumed` values and the `dataVersion`, as [the reference](/docs/api-mcp/fincanva-open-api-and-mcp-reference) describes.

- `presets` (list) — The matching presets, in the order the app lists them.
- `presets[].id` (string) — The preset's stable public id, in snake_case.
- `presets[].name` (string; at least 1 characters) — The preset's name as the app shows it.
- `presets[].group` (string; one of `volatility`, `yield_curve`, `inflation`, `sp500`) — The preset's group: `volatility`, `yield_curve`, `inflation` or `sp500`.
- `presets[].description` (string; at least 1 characters) — The app's description of what the preset watches and when it turns risk-off.
- `presets[].ruleType` (string; one of `single_series`, `double_series`) — `single_series` compares one series with thresholds; `double_series` compares a series with another series or with its own indicator.
- `presets[].indicator` (object) — The indicator applied to the series before it is compared.
- `presets[].indicator.kind` (string; one of `none`, `sma`, `change`, `average_momentum`) — `none` (the series as it is), `sma` (a simple moving average), `change` (the change over a number of months) or `average_momentum`.
- `presets[].indicator.value` (number; may be null; unit: the unit of what it describes) — The indicator's window: trading days for `sma`, months for `change` and `average_momentum`, null for `none`. (convention [`native_unit`](/docs/api-mcp/units-and-conventions-in-the-fincanva-api-and-mcp#what-does-the-unit-native-mean))
- `presets[].riskOff` (object; may be null) — When the condition turns risk-off, or null for a crossing rule.
- `presets[].riskOff.operator` (string; one of `above`, `below`) — `above` or `below`: the regime holds while the series is above or below the threshold.
- `presets[].riskOff.value` (number; unit: the unit of what it describes) — The risk-off threshold, in the unit of the series the preset reads. (convention [`native_unit`](/docs/api-mcp/units-and-conventions-in-the-fincanva-api-and-mcp#what-does-the-unit-native-mean))
- `presets[].riskOn` (object; may be null) — When the condition turns back risk-on, or null for a crossing rule.
- `presets[].riskOn.operator` (string; one of `above`, `below`) — `above` or `below`: the regime holds while the series is above or below the threshold.
- `presets[].riskOn.value` (number; unit: the unit of what it describes) — The risk-on threshold, in the unit of the series the preset reads. (convention [`native_unit`](/docs/api-mcp/units-and-conventions-in-the-fincanva-api-and-mcp#what-does-the-unit-native-mean))
- `presets[].crossing` (object; may be null) — For a `double_series` preset, the comparison with the second series; null otherwise.
- `presets[].crossing.operator` (string; one of `above`, `below`) — `above` or `below`: the regime holds while the series is above or below the comparison indicator.
- `presets[].crossing.against` (object) — The indicator the series is compared against.
- `presets[].crossing.against.kind` (string; one of `none`, `sma`, `change`, `average_momentum`) — The comparison indicator's kind, as in `indicator.kind`.
- `presets[].crossing.against.value` (number; may be null; unit: the unit of what it describes) — The comparison indicator's window, as in `indicator.value`. (convention [`native_unit`](/docs/api-mcp/units-and-conventions-in-the-fincanva-api-and-mcp#what-does-the-unit-native-mean))
- `presets[].weeksOfDelay` (integer; at least `0`; unit: weeks) — How many weeks the condition waits before acting on a switch.
- `presets[].switchRebalances` (boolean) — True when a switch triggers a rebalance at once.
- `presets[].editable` (list) — The values you may change while keeping the preset: `riskOffOperator`, `riskOffValue`, `riskOnOperator`, `riskOnValue`, `indicatorValue`.
- `ruleTypes` (list; may be null) — The rule types a custom risk condition can use, or null unless `includeRuleTypes` was true.
- `ruleTypes[].id` (string; one of `single_series`, `double_series`, `hidden_markov`, `clustering`, `portfolio_based`) — `single_series`, `double_series`, `hidden_markov`, `clustering` or `portfolio_based`.
- `ruleTypes[].name` (string; at least 1 characters) — The rule type's name as the app shows it.
- `ruleTypes[].detects` (string; at least 1 characters) — What the rule type detects, in one sentence.

## What does a call to List risk condition presets look like?

### The presets that watch volatility

Asked as: Which risk-off signals based on volatility does Fincanva have?

```http
# Caller on the advanced plan
POST /api/v1/research/list_risk_rule_presets
Authorization: Bearer <API key or access token>
Content-Type: application/json

{
  "group": "volatility"
}
```

The result:

```json
{
  "presets": [
    {
      "id": "vix_ratio",
      "name": "VIX ratio",
      "group": "volatility",
      "description": "Ratio of short-term (VIX) to medium-term (VXV) implied volatility. Risk-Off when the short term exceeds the medium term.",
      "ruleType": "single_series",
      "indicator": {
        "kind": "none",
        "value": null
      },
      "riskOff": {
        "operator": "above",
        "value": 1
      },
      "riskOn": {
        "operator": "below",
        "value": 0.95
      },
      "crossing": null,
      "weeksOfDelay": 0,
      "switchRebalances": false,
      "editable": [
        "riskOffOperator",
        "riskOffValue",
        "riskOnOperator",
        "riskOnValue"
      ]
    },
    {
      "id": "vix",
      "name": "VIX",
      "group": "volatility",
      "description": "CBOE volatility index level. Risk-Off when volatility exceeds the threshold.",
      "ruleType": "single_series",
      "indicator": {
        "kind": "none",
        "value": null
      },
      "riskOff": {
        "operator": "above",
        "value": 25
      },
      "riskOn": {
        "operator": "below",
        "value": 20
      },
      "crossing": null,
      "weeksOfDelay": 0,
      "switchRebalances": false,
      "editable": [
        "riskOffOperator",
        "riskOffValue",
        "riskOnOperator",
        "riskOnValue"
      ]
    }
  ],
  "ruleTypes": null
}
```

The summary it returns:

> 2 risk condition presets in the volatility group: VIX ratio and VIX.

The values it assumed, because the request left them out:

- `/includeRuleTypes` = `false` — the rule types were not asked for, so they are not listed

## What goes wrong most often with List risk condition presets?

- A preset's thresholds are in the unit of the series it reads — index points for the VIX, a plain ratio for the VIX ratio — not fractions.
- `riskOff` and `riskOn` are two thresholds, not one: the gap between them keeps the condition from flipping back and forth around a single level.
- Only the values listed in `editable` can change while the preset stays a preset; the rest of its rule is fixed.

## Which error codes can List risk condition presets return?

List risk condition presets has no error codes of its own beyond the common ones.

Every operation can also return the common error codes listed in [the reference](/docs/api-mcp/fincanva-open-api-and-mcp-reference#which-error-codes-can-a-fincanva-operation-return).

## Which plans include List risk condition presets?

List risk condition presets belongs to the Strategy authoring family of operations and counts as one research call against your plan's monthly allowance. Which families your plan includes, and how large its allowances are, is set out in [What each plan includes](/docs/account-security/what-each-plan-includes).

Fincanva is for education and illustration only. It is not personalised financial advice, and past or simulated results do not predict future ones. [Read the Terms Addendum](https://fincanva.com/terms/addendum#section-3)
