{
  "status": "success",
  "data": {
    "items": [
      {
        "template_id": "crypto_breakout_confirmation_v1",
        "version": "1.0.0",
        "status": "active",
        "name": "Crypto Breakout Confirmation",
        "template_family": "breakout_confirmation",
        "market_type": "crypto",
        "market_scope": "crypto",
        "supported_service_types": [
          "custom_strategy_experiment"
        ],
        "supported_strategy_input_types": [
          "natural_language",
          "structured_logic",
          "parameter_template"
        ],
        "supported_delivery_types": [
          "summary_only",
          "artifact"
        ],
        "execution_mode_hint": "quick_run",
        "summary": "Template for post-breakout confirmation, retest quality, and invalidation-aware follow-through.",
        "starter_notes": [
          "Works best when the caller already knows the candidate breakout zone.",
          "Prefer major liquid crypto pairs and higher timeframes for the first release.",
          "Use as a structured experiment template, not as an auto-execution script."
        ],
        "parameter_schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "symbol",
            "primary_timeframe",
            "confirmation_rule",
            "risk_limits"
          ],
          "properties": {
            "symbol": {
              "type": "string",
              "minLength": 3,
              "maxLength": 24
            },
            "primary_timeframe": {
              "type": "string",
              "enum": [
                "1h",
                "4h",
                "1d"
              ]
            },
            "confirmation_rule": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "breakout_threshold",
                "retest_tolerance_pct"
              ],
              "properties": {
                "breakout_threshold": {
                  "type": "number"
                },
                "retest_tolerance_pct": {
                  "type": "number",
                  "minimum": 0.1,
                  "maximum": 15
                }
              }
            },
            "risk_limits": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "max_stop_loss_pct"
              ],
              "properties": {
                "max_stop_loss_pct": {
                  "type": "number",
                  "minimum": 0.1,
                  "maximum": 25
                },
                "target_rr_min": {
                  "type": "number",
                  "minimum": 0.5,
                  "maximum": 10
                }
              }
            }
          }
        }
      },
      {
        "template_id": "crypto_trend_pullback_v1",
        "version": "1.0.0",
        "status": "active",
        "name": "Crypto Trend Pullback",
        "template_family": "trend_pullback",
        "market_type": "crypto",
        "market_scope": "crypto",
        "supported_service_types": [
          "custom_strategy_experiment"
        ],
        "supported_strategy_input_types": [
          "natural_language",
          "structured_logic",
          "parameter_template",
          "pseudocode"
        ],
        "supported_delivery_types": [
          "summary_only",
          "artifact"
        ],
        "execution_mode_hint": "standard_run",
        "summary": "Template for pullback entries inside an existing higher-timeframe trend.",
        "starter_notes": [
          "Best for directional experiments where the user wants a clearer trend-following baseline.",
          "Keep the first pass to liquid assets and a small parameter search range.",
          "Pair with explicit invalidation and exposure limits."
        ],
        "parameter_schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "symbol",
            "trend_timeframe",
            "entry_trigger",
            "risk_limits"
          ],
          "properties": {
            "symbol": {
              "type": "string",
              "minLength": 3,
              "maxLength": 24
            },
            "trend_timeframe": {
              "type": "string",
              "enum": [
                "4h",
                "1d"
              ]
            },
            "entry_trigger": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "pullback_depth_pct",
                "trend_filter"
              ],
              "properties": {
                "pullback_depth_pct": {
                  "type": "number",
                  "minimum": 0.1,
                  "maximum": 25
                },
                "trend_filter": {
                  "type": "string",
                  "enum": [
                    "ema_stack",
                    "higher_highs",
                    "regime_filter"
                  ]
                }
              }
            },
            "risk_limits": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "max_stop_loss_pct",
                "max_position_risk_pct"
              ],
              "properties": {
                "max_stop_loss_pct": {
                  "type": "number",
                  "minimum": 0.1,
                  "maximum": 25
                },
                "max_position_risk_pct": {
                  "type": "number",
                  "minimum": 0.1,
                  "maximum": 10
                }
              }
            }
          }
        }
      },
      {
        "template_id": "crypto_strategy_validation_v1",
        "version": "1.0.0",
        "status": "active",
        "name": "Crypto Strategy Validation",
        "template_family": "strategy_validation",
        "market_type": "crypto",
        "market_scope": "crypto",
        "supported_service_types": [
          "standalone_backtest_service"
        ],
        "supported_strategy_input_types": [
          "structured_logic",
          "parameter_template",
          "pseudocode",
          "python_code",
          "external_file"
        ],
        "supported_delivery_types": [
          "summary_only",
          "artifact",
          "code_delivery"
        ],
        "execution_mode_hint": "customer_strategy_validation",
        "summary": "Validation template for customer-supplied strategy logic, pseudocode, or controlled code input.",
        "starter_notes": [
          "Use when the customer already has strategy logic and wants a standardized validation run.",
          "Keep arbitrary code execution gated; prefer pseudocode or parameterized logic first.",
          "Return a structured validation report even when the experiment result is poor."
        ],
        "parameter_schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "input_mode",
            "evaluation_window",
            "risk_checks"
          ],
          "properties": {
            "input_mode": {
              "type": "string",
              "enum": [
                "structured_logic",
                "parameter_template",
                "pseudocode",
                "python_code"
              ]
            },
            "evaluation_window": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "timeframe",
                "start_at",
                "end_at"
              ],
              "properties": {
                "timeframe": {
                  "type": "string",
                  "enum": [
                    "15m",
                    "1h",
                    "4h",
                    "1d"
                  ]
                },
                "start_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "end_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "risk_checks": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "max_drawdown",
                  "trade_count",
                  "exposure",
                  "slippage",
                  "stability"
                ]
              },
              "minItems": 1
            }
          }
        }
      }
    ],
    "total": 3,
    "filters": {
      "service_type": null
    }
  },
  "error": null,
  "request_id": "a45d0b1e-53e0-488f-9083-3e1437f68475",
  "timestamp": "2026-04-23T15:11:53.417Z"
}