{
  "$defs": {
    "Timeframe": {
      "description": "Bar duration. These seven are the only granularities the data layer serves.",
      "enum": [
        "1m",
        "5m",
        "15m",
        "30m",
        "1h",
        "4h",
        "1d"
      ],
      "title": "Timeframe",
      "type": "string"
    }
  },
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "Short strategy name, up to 5 words / 48 chars. Duplicate names in the same project are versioned automatically (e.g. 'RSI dip buy v2').",
      "title": "Name",
      "type": "string"
    },
    "project_id": {
      "description": "Research project ID from project_create or project_list. REQUIRED \u2014 strategies cannot be created outside a project. If no project exists yet, call project_create first.",
      "title": "Project Id",
      "type": "string"
    },
    "symbols": {
      "description": "List of trading symbols persisted as Strategy.instruments. Single-instrument leaf: ['SPY']. Basket: ['AAPL', 'MSFT', 'GOOG'] \u2014 runs the same strategy template across each instrument; a basket (len >= 2) requires an allocation policy set via builder_set_allocation. 13 tickers name both an equity and a crypto pair (LTC, DASH, LINK, ...); those are rejected as ambiguous \u2014 say 'LTC-USD' for the crypto pair or 'EQ:LTC' for the equity. Must contain at least one symbol.",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "title": "Symbols",
      "type": "array"
    },
    "timeframe": {
      "$ref": "#/$defs/Timeframe",
      "description": "Candle timeframe for strategy bars"
    }
  },
  "required": [
    "name",
    "symbols",
    "timeframe",
    "project_id"
  ],
  "title": "create_strategyArguments",
  "type": "object"
}
