{
  "openapi": "3.1.0",
  "info": {
    "title": "AfterMath Alt-Data API",
    "version": "1.0.0",
    "description": "Public, keyless JSON over HTTPS plus a live MCP endpoint. Verified whale and retail positioning from the AfterHour social trading app, and public scoring of Telegram trade callouts. Generated from the built data files; not investment advice.",
    "contact": {
      "name": "Momentum Phinance",
      "url": "https://ah.mphinance.com"
    }
  },
  "servers": [
    {
      "url": "https://ah.mphinance.com",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Market",
      "description": "Macro tape: whale cash, daily P&L, allocation split and leaders."
    },
    {
      "name": "Securities",
      "description": "Equities and ETFs ranked by verified whale capital, owners and conviction."
    },
    {
      "name": "Whales",
      "description": "Verified high-capital portfolios and the clout-inversion (shadow) index."
    },
    {
      "name": "Telegram Funnel",
      "description": "Telegram channels linked to flagged accounts: callouts, scoring, live feed. Flag list curated by telegramscammers.com; flagged for investigation, not a finding of fraud."
    },
    {
      "name": "MCP",
      "description": "Model Context Protocol: live JSON-RPC endpoint and the tool catalog."
    }
  ],
  "paths": {
    "/api/market.json": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Macro tape",
        "operationId": "get_api_market_json",
        "description": "Whale dry powder cash, intraday net P&L, equity/ETF/options allocation and the capital-inflow, retail-breadth, conviction and gainer leaders.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Market"
                },
                "example": {
                  "version": "1.0.0",
                  "timestamp": "2026-10-02T23:15:00Z",
                  "source": "https://ah.mphinance.com",
                  "macro": {
                    "whaleDryPowderCash": 8984781.39,
                    "whaleNetGainToday": 3487492.28,
                    "whaleUnrealizedProfit": 57700078.87,
                    "totalWhaleAum": 169043372.56,
                    "trackedWhalesCount": 395,
                    "allocation": {
                      "equityValue": 124272557.28,
                      "equityPercent": 79.5,
                      "etfValue": 31447890.61,
                      "etfPercent": 20.1,
                      "optionsValue": 623918.13,
                      "optionsPercent": 0.4,
                      "optionsWhalesCount": 157,
                      "optionsPositionsCount": 823
                    }
                  },
                  "capitalInflowLeaders": [
                    {
                      "ticker": "AAPL",
                      "name": "Apple Inc.",
                      "price": 333.51,
                      "totalValue": 19355089.91,
                      "whaleCapital": 18425724.77,
                      "owners": 179,
                      "isETF": false,
                      "changePercent": 0.97
                    }
                  ],
                  "retailBreadthLeaders": [
                    {
                      "ticker": "NVDA",
                      "name": "Nvidia Corp",
                      "owners": 321,
                      "totalValue": 13500746.24,
                      "whaleCapital": 10851140.18,
                      "price": 233.95,
                      "isETF": false,
                      "changePercent": 1.34
                    }
                  ],
                  "convictionIntensityLeaders": [
                    {
                      "ticker": "ANET",
                      "name": "Arista Networks",
                      "convictionPerHolder": 188751.79,
                      "owners": 18,
                      "totalValue": 3397532.22,
                      "whaleCapital": 3365487.39,
                      "price": 207.35,
                      "isETF": false,
                      "changePercent": 1.4
                    }
                  ],
                  "topTapeGainers": [
                    {
                      "ticker": "RKLB",
                      "name": "Rocket Lab Corporation Common Stock",
                      "price": 73.95,
                      "changePercent": 4.95,
                      "totalValue": 1159878.57,
                      "isETF": false
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/market-summary.json": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Macro tape (alias)",
        "operationId": "get_api_market_summary_json",
        "description": "Same payload as `/api/market.json`, kept as a stable alias.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketSummary"
                },
                "example": {
                  "version": "1.0.0",
                  "timestamp": "2026-10-02T23:15:00Z",
                  "source": "https://ah.mphinance.com",
                  "macro": {
                    "whaleDryPowderCash": 8984781.39,
                    "whaleNetGainToday": 3487492.28,
                    "whaleUnrealizedProfit": 57700078.87,
                    "totalWhaleAum": 169043372.56,
                    "trackedWhalesCount": 395,
                    "allocation": {
                      "equityValue": 124272557.28,
                      "equityPercent": 79.5,
                      "etfValue": 31447890.61,
                      "etfPercent": 20.1,
                      "optionsValue": 623918.13,
                      "optionsPercent": 0.4,
                      "optionsWhalesCount": 157,
                      "optionsPositionsCount": 823
                    }
                  },
                  "capitalInflowLeaders": [
                    {
                      "ticker": "AAPL",
                      "name": "Apple Inc.",
                      "price": 333.51,
                      "totalValue": 19355089.91,
                      "whaleCapital": 18425724.77,
                      "owners": 179,
                      "isETF": false,
                      "changePercent": 0.97
                    }
                  ],
                  "retailBreadthLeaders": [
                    {
                      "ticker": "NVDA",
                      "name": "Nvidia Corp",
                      "owners": 321,
                      "totalValue": 13500746.24,
                      "whaleCapital": 10851140.18,
                      "price": 233.95,
                      "isETF": false,
                      "changePercent": 1.34
                    }
                  ],
                  "convictionIntensityLeaders": [
                    {
                      "ticker": "ANET",
                      "name": "Arista Networks",
                      "convictionPerHolder": 188751.79,
                      "owners": 18,
                      "totalValue": 3397532.22,
                      "whaleCapital": 3365487.39,
                      "price": 207.35,
                      "isETF": false,
                      "changePercent": 1.4
                    }
                  ],
                  "topTapeGainers": [
                    {
                      "ticker": "RKLB",
                      "name": "Rocket Lab Corporation Common Stock",
                      "price": 73.95,
                      "changePercent": 4.95,
                      "totalValue": 1159878.57,
                      "isETF": false
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/sentiment.json": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Sentiment",
        "operationId": "get_api_sentiment_json",
        "description": "Social sentiment from the AfterHour post archive: per-window summaries, buzz leaders and daily mention series.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sentiment"
                },
                "example": {
                  "generated_at": "2026-10-16T17:24:42Z",
                  "source": "https://api.afterhour.com/social/feed (public posts)",
                  "archive": {
                    "posts": 119,
                    "oldest": "2026-10-16T14:03:48.907000+00:00",
                    "newest": "2026-10-16T17:23:53.433000+00:00"
                  },
                  "method": "Direction only from explicit contract side (CALL/PUT, 765C) plus an open verb; closes, hindsight and modal language are neutral. One vote per author per tick...",
                  "caveat": "Small, noisy sample of public posts. Not advice. Check flags before trusting a score.",
                  "windows": {
                    "24h": {
                      "COIN": {
                        "n_posts": 1,
                        "n_authors": 1,
                        "n_directional_votes": 0,
                        "n_voting_authors": 0,
                        "bull": 0,
                        "bear": 0,
                        "neutral_posts": 1,
                        "net_score": null,
                        "confidence": "low",
                        "calls_opened": 0,
                        "puts_opened": 0,
                        "call_put_ratio": null,
                        "by_topic": {},
                        "views": 3,
                        "comments": 0,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 0.0,
                          "bio_telegram_authors": [],
                          "funnel_list_authors": []
                        },
                        "top_posts": [
                          {
                            "id": "pst_6705b25b5dbd4f74b7db0a1e00e70c69",
                            "hash": "bx6J",
                            "author": "RoyaltyTradez",
                            "followers": 86057,
                            "title": "Caught Another One At The Top \ud83e\ude78 $COIN Cmon Down \ud83d\ude02\ud83d\ude02\ud83d\ude02",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T17:23:53.433Z"
                          }
                        ]
                      },
                      "QQQ": {
                        "n_posts": 4,
                        "n_authors": 2,
                        "n_directional_votes": 1,
                        "n_voting_authors": 1,
                        "bull": 0,
                        "bear": 1,
                        "neutral_posts": 3,
                        "net_score": -1.0,
                        "confidence": "low",
                        "calls_opened": 1,
                        "puts_opened": 2,
                        "call_put_ratio": 0.5,
                        "by_topic": {
                          "contest": 3
                        },
                        "views": 396,
                        "comments": 1,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 1.5,
                          "bio_telegram_authors": [
                            "Jackson87"
                          ],
                          "funnel_list_authors": [
                            "Jackson87"
                          ]
                        },
                        "top_posts": [
                          {
                            "id": "pst_5a8edb4da1b64d80b3f594cccd2fd522",
                            "hash": "bx43",
                            "author": "Radaroptions",
                            "followers": 23,
                            "title": "Closed out $QQQ puts for +80% profit",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T14:31:29.044Z"
                          }
                        ]
                      }
                    },
                    "72h": {
                      "COIN": {
                        "n_posts": 1,
                        "n_authors": 1,
                        "n_directional_votes": 0,
                        "n_voting_authors": 0,
                        "bull": 0,
                        "bear": 0,
                        "neutral_posts": 1,
                        "net_score": null,
                        "confidence": "low",
                        "calls_opened": 0,
                        "puts_opened": 0,
                        "call_put_ratio": null,
                        "by_topic": {},
                        "views": 3,
                        "comments": 0,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 0.0,
                          "bio_telegram_authors": [],
                          "funnel_list_authors": []
                        },
                        "top_posts": [
                          {
                            "id": "pst_6705b25b5dbd4f74b7db0a1e00e70c69",
                            "hash": "bx6J",
                            "author": "RoyaltyTradez",
                            "followers": 86057,
                            "title": "Caught Another One At The Top \ud83e\ude78 $COIN Cmon Down \ud83d\ude02\ud83d\ude02\ud83d\ude02",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T17:23:53.433Z"
                          }
                        ]
                      },
                      "QQQ": {
                        "n_posts": 4,
                        "n_authors": 2,
                        "n_directional_votes": 1,
                        "n_voting_authors": 1,
                        "bull": 0,
                        "bear": 1,
                        "neutral_posts": 3,
                        "net_score": -1.0,
                        "confidence": "low",
                        "calls_opened": 1,
                        "puts_opened": 2,
                        "call_put_ratio": 0.5,
                        "by_topic": {
                          "contest": 3
                        },
                        "views": 396,
                        "comments": 1,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 1.5,
                          "bio_telegram_authors": [
                            "Jackson87"
                          ],
                          "funnel_list_authors": [
                            "Jackson87"
                          ]
                        },
                        "top_posts": [
                          {
                            "id": "pst_5a8edb4da1b64d80b3f594cccd2fd522",
                            "hash": "bx43",
                            "author": "Radaroptions",
                            "followers": 23,
                            "title": "Closed out $QQQ puts for +80% profit",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T14:31:29.044Z"
                          }
                        ]
                      }
                    },
                    "7d": {
                      "COIN": {
                        "n_posts": 1,
                        "n_authors": 1,
                        "n_directional_votes": 0,
                        "n_voting_authors": 0,
                        "bull": 0,
                        "bear": 0,
                        "neutral_posts": 1,
                        "net_score": null,
                        "confidence": "low",
                        "calls_opened": 0,
                        "puts_opened": 0,
                        "call_put_ratio": null,
                        "by_topic": {},
                        "views": 3,
                        "comments": 0,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 0.0,
                          "bio_telegram_authors": [],
                          "funnel_list_authors": []
                        },
                        "top_posts": [
                          {
                            "id": "pst_6705b25b5dbd4f74b7db0a1e00e70c69",
                            "hash": "bx6J",
                            "author": "RoyaltyTradez",
                            "followers": 86057,
                            "title": "Caught Another One At The Top \ud83e\ude78 $COIN Cmon Down \ud83d\ude02\ud83d\ude02\ud83d\ude02",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T17:23:53.433Z"
                          }
                        ]
                      },
                      "QQQ": {
                        "n_posts": 4,
                        "n_authors": 2,
                        "n_directional_votes": 1,
                        "n_voting_authors": 1,
                        "bull": 0,
                        "bear": 1,
                        "neutral_posts": 3,
                        "net_score": -1.0,
                        "confidence": "low",
                        "calls_opened": 1,
                        "puts_opened": 2,
                        "call_put_ratio": 0.5,
                        "by_topic": {
                          "contest": 3
                        },
                        "views": 396,
                        "comments": 1,
                        "flags": {
                          "duplicate_text_posts": 0,
                          "low_follower_author_share": 1.5,
                          "bio_telegram_authors": [
                            "Jackson87"
                          ],
                          "funnel_list_authors": [
                            "Jackson87"
                          ]
                        },
                        "top_posts": [
                          {
                            "id": "pst_5a8edb4da1b64d80b3f594cccd2fd522",
                            "hash": "bx43",
                            "author": "Radaroptions",
                            "followers": 23,
                            "title": "Closed out $QQQ puts for +80% profit",
                            "stance": "neutral",
                            "topic": null,
                            "ts": "2026-10-16T14:31:29.044Z"
                          }
                        ]
                      }
                    }
                  },
                  "buzz": {
                    "24h": {
                      "archive_depth_days": 0.1,
                      "tickers": {
                        "COIN": {
                          "mentions": 1,
                          "baseline_mean": 0.0,
                          "z": null
                        },
                        "QQQ": {
                          "mentions": 4,
                          "baseline_mean": 0.0,
                          "z": null
                        }
                      }
                    },
                    "72h": {
                      "archive_depth_days": 0.1,
                      "tickers": {
                        "COIN": {
                          "mentions": 1,
                          "baseline_mean": 0.0,
                          "z": null
                        },
                        "QQQ": {
                          "mentions": 4,
                          "baseline_mean": 0.0,
                          "z": null
                        }
                      }
                    }
                  },
                  "daily": {
                    "UPS": [
                      {
                        "date": "2026-10-16",
                        "posts": 1,
                        "bull": 0,
                        "bear": 0,
                        "net": null
                      }
                    ],
                    "NVDA": [
                      {
                        "date": "2026-10-16",
                        "posts": 13,
                        "bull": 3,
                        "bear": 0,
                        "net": 1.0
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/ah-posts.json": {
      "get": {
        "tags": [
          "Market"
        ],
        "summary": "Recent AfterHour posts",
        "operationId": "get_api_ah_posts_json",
        "description": "Recent public community posts collected from the AfterHour app. Published when the collector has produced it.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AhPosts"
                },
                "example": {
                  "generated_at": "2026-10-16T17:24:42Z",
                  "posts": [
                    {
                      "id": "pst_6705b25b5dbd4f74b7db0a1e00e70c69",
                      "hash": "bx6J",
                      "ts": "2026-10-16T17:23:53.433Z",
                      "author": "RoyaltyTradez",
                      "followers": 86057,
                      "privacy": "PRIVATE",
                      "bio_link": "https://www.patreon.com/RoyaltyTradez?utm_campaign=creatorshare_creator",
                      "title": "Caught Another One At The Top \ud83e\ude78 $COIN Cmon Down \ud83d\ude02\ud83d\ude02\ud83d\ude02",
                      "topic": null,
                      "tickers": [
                        "COIN"
                      ],
                      "views": 3,
                      "comments": 0,
                      "likes": 0,
                      "has_positions": false,
                      "sig": "c7c807c1c6f3",
                      "side": null,
                      "action": null,
                      "stance": "neutral",
                      "basis": "no_contract"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/whale-changes.json": {
      "get": {
        "tags": [
          "Whales"
        ],
        "summary": "Reported whale position changes",
        "operationId": "get_api_whale_changes_json",
        "description": "Quantity changes (OPEN, ADD, TRIM, CLOSE, EXPIRED, FLIP) detected between polls of public whale portfolios, with notional and percent of portfolio. Positions are the last broker sync marked to live prices, so changes are rare. Currently 0 records.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhaleChanges"
                },
                "example": {
                  "generated_at": "2026-10-16T17:28:13Z",
                  "count": 0,
                  "changes": []
                }
              }
            }
          }
        }
      }
    },
    "/api/whale-sync.json": {
      "get": {
        "tags": [
          "Whales"
        ],
        "summary": "Whale data freshness",
        "operationId": "get_api_whale_sync_json",
        "description": "How fresh the whale position data is: whales tracked, recently polled, newest and oldest broker sync.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhaleSync"
                },
                "example": {
                  "generated_at": "2026-10-16T17:28:13Z",
                  "whales_tracked": 8,
                  "polled_last_hour": 8,
                  "never_polled": 0,
                  "newest_broker_sync": "2026-06-24T16:11:06.653Z",
                  "oldest_broker_sync": "2025-02-08T08:00:54.414Z",
                  "synced_within_30d": 0,
                  "note": "Positions are the last broker sync marked to live prices. A whale's quantities only change when the broker link syncs, which for most whales was weeks or mon...",
                  "whales": {
                    "TrogdorStrikesAgain": {
                      "last_synced_at": "2026-06-24T16:11:06.653Z",
                      "polled_at": "2026-10-16T17:28:01.983565+00:00",
                      "n_positions": 23,
                      "total_value": 11389654.74
                    },
                    "SlowmoInvestor": {
                      "last_synced_at": "2026-06-24T08:35:12.637Z",
                      "polled_at": "2026-10-16T17:28:01.983565+00:00",
                      "n_positions": 7,
                      "total_value": 16059507.7836
                    },
                    "Trescommas": {
                      "last_synced_at": "2026-06-24T15:39:21.538Z",
                      "polled_at": "2026-10-16T17:28:01.983565+00:00",
                      "n_positions": 12,
                      "total_value": 14523410.43169546
                    },
                    "SIRJACK": {
                      "last_synced_at": "2026-06-24T09:00:08.165Z",
                      "polled_at": "2026-10-16T17:28:01.983565+00:00",
                      "n_positions": 4,
                      "total_value": 11800725.21333138
                    },
                    "CptNut": {
                      "last_synced_at": "2025-02-08T08:00:54.414Z",
                      "polled_at": "2026-10-16T17:28:13.948652+00:00",
                      "n_positions": 37,
                      "total_value": 5188429.9438083
                    },
                    "OCmd": {
                      "last_synced_at": "2026-06-24T14:15:21.422Z",
                      "polled_at": "2026-10-16T17:28:13.948652+00:00",
                      "n_positions": 17,
                      "total_value": 3581156.23789674
                    },
                    "NOLA": {
                      "last_synced_at": "2026-06-24T08:20:41.559Z",
                      "polled_at": "2026-10-16T17:28:13.948652+00:00",
                      "n_positions": 40,
                      "total_value": 3909776.31625
                    },
                    "dteich16": {
                      "last_synced_at": "2026-06-24T14:44:53.015Z",
                      "polled_at": "2026-10-16T17:28:13.948652+00:00",
                      "n_positions": 29,
                      "total_value": 3227843.8953285185
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/stonks.json": {
      "get": {
        "tags": [
          "Securities"
        ],
        "summary": "All tracked securities",
        "operationId": "get_api_stonks_json",
        "description": "Every tracked security with owner counts, total platform value, whale capital, conviction intensity ($ per holder), session change and chatroom activity. Currently 500 securities.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Stonks"
                },
                "example": {
                  "total": 500,
                  "securities": [
                    {
                      "ticker": "AAPL",
                      "name": "Apple Inc.",
                      "friendlyName": "Apple",
                      "type": "EQUITY",
                      "isETF": false,
                      "owners": 179,
                      "totalValue": 19355089.91,
                      "intensity": 108128.99,
                      "marketCap": 4867304971800,
                      "price": 333.51,
                      "changePercent": 0.97,
                      "volume": 32420526,
                      "chatroomMembers": 12850,
                      "chatroomOnline": 1,
                      "whalesCount": 90,
                      "whalesValue": 18425724.77,
                      "topWhale": "SlowmoInvestor",
                      "topWhaleValue": 9338280.0,
                      "slug": "/ticker/AAPL",
                      "hasHistory": true,
                      "rankWhaleCapital": 1,
                      "rankPlatformValue": 1,
                      "rankOwners": 8,
                      "rankGainers": 180,
                      "rankChat": 4,
                      "badges": [
                        {
                          "label": "#1 WHALE BACKED",
                          "color": "purple"
                        }
                      ],
                      "whyTop": "$18.4M whale capital (90 whales) &bull; 179 verified holders &bull; 12,850 chat members",
                      "rank": 1
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/etfs.json": {
      "get": {
        "tags": [
          "Securities"
        ],
        "summary": "ETFs",
        "operationId": "get_api_etfs_json",
        "description": "ETFs segregated from equities, with asset class, expense ratio and whale backing. Currently 64 securities.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Etfs"
                },
                "example": {
                  "total": 64,
                  "securities": [
                    {
                      "ticker": "QQQ",
                      "name": "Invesco QQQ Trust, Series 1",
                      "friendlyName": "Invesco QQQ",
                      "type": "ETF",
                      "isETF": true,
                      "owners": 119,
                      "totalValue": 8022861.37,
                      "intensity": 67419.0,
                      "marketCap": 502638280000,
                      "price": 749.2,
                      "changePercent": 0.97,
                      "volume": 34459478,
                      "chatroomMembers": 1836,
                      "chatroomOnline": 0,
                      "whalesCount": 53,
                      "whalesValue": 7572746.87,
                      "topWhale": "SIRJACK",
                      "topWhaleValue": 5626928.56,
                      "slug": "/ticker/QQQ",
                      "hasHistory": true,
                      "rankWhaleCapital": 4,
                      "rankPlatformValue": 5,
                      "rankOwners": 20,
                      "rankGainers": 181,
                      "rankChat": 18,
                      "badges": [
                        {
                          "label": "ETF",
                          "color": "amber"
                        }
                      ],
                      "whyTop": "$7.6M whale capital (53 whales) &bull; 119 verified holders",
                      "rank": 4
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/ticker/{symbol}.json": {
      "get": {
        "tags": [
          "Securities"
        ],
        "summary": "Ticker deep dive",
        "operationId": "get_api_ticker_symbol_json",
        "description": "One security: its row, the verified whale holders, and daily OHLCV history bars. One file per tracked ticker. Currently 90 whales.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticker"
                },
                "example": {
                  "security": {
                    "ticker": "AAPL",
                    "name": "Apple Inc.",
                    "friendlyName": "Apple",
                    "type": "EQUITY",
                    "isETF": false,
                    "owners": 179,
                    "totalValue": 19355089.91,
                    "intensity": 108128.99,
                    "marketCap": 4867304971800,
                    "price": 333.51,
                    "changePercent": 0.97,
                    "volume": 32420526,
                    "chatroomMembers": 12850,
                    "chatroomOnline": 1,
                    "whalesCount": 90,
                    "whalesValue": 18425724.77,
                    "topWhale": "SlowmoInvestor",
                    "topWhaleValue": 9338280.0,
                    "slug": "/ticker/AAPL",
                    "hasHistory": true,
                    "rankWhaleCapital": 1,
                    "rankPlatformValue": 1,
                    "rankOwners": 8,
                    "rankGainers": 180,
                    "rankChat": 4,
                    "badges": [
                      {
                        "label": "#1 WHALE BACKED",
                        "color": "purple"
                      }
                    ],
                    "whyTop": "$18.4M whale capital (90 whales) &bull; 179 verified holders &bull; 12,850 chat members",
                    "rank": 1
                  },
                  "whales": [
                    {
                      "username": "SlowmoInvestor",
                      "followers": 1846,
                      "shares": 28000.0,
                      "contracts": null,
                      "value": 9338280.0,
                      "cost_basis": 598807.0,
                      "profit": 8739473.0,
                      "is_option": false,
                      "option_type": null,
                      "strike": null,
                      "expiry": null,
                      "clean_symbol": "AAPL",
                      "name": "Apple",
                      "raw_ticker": "AAPL",
                      "root_ticker": "AAPL"
                    }
                  ],
                  "history": [
                    {
                      "close": 308.91,
                      "high": 310.69,
                      "low": 300,
                      "numberOfTrades": 2207880,
                      "open": 304.81,
                      "symbol": "AAPL",
                      "timestamp": "2026-07-31T04:00:00.000Z",
                      "volume": 132489137,
                      "volumeWeightedAveragePrice": 304.5425
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Ticker not tracked"
          }
        },
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Ticker symbol, upper case (any ticker listed in /api/stonks.json).",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          }
        ]
      }
    },
    "/api/whales.json": {
      "get": {
        "tags": [
          "Whales"
        ],
        "summary": "Verified whale portfolios",
        "operationId": "get_api_whales_json",
        "description": "High-capital portfolios with broker-verified positions, cash, P&L and shadow ratio. Large file (several MB uncompressed). Currently 395 whales.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Whales"
                },
                "example": {
                  "total": 395,
                  "whales": [
                    {
                      "username": "TrogdorStrikesAgain",
                      "profile_id": "prf_dad089b3aa994d14bedbba51ec6d433c",
                      "followers": 14506,
                      "following": 33,
                      "total_likes": 3613,
                      "total_value": 16300937.33,
                      "cost_basis": 3573383.64,
                      "profit": 11575508.17,
                      "profit_percent": 323.94,
                      "profit_today": 414546.0,
                      "cash_balance": 282795.52,
                      "verified_as_of": "2026-10-02T22:59:55.091Z",
                      "positions_count": 23,
                      "top_positions": [
                        {
                          "ticker": "ASTS",
                          "root_ticker": "ASTS",
                          "clean_symbol": "ASTS",
                          "name": "AST SpaceMobile",
                          "security_id": "sec_204f3dfd7a184285bd4c392ee5946127",
                          "type": "EQUITY",
                          "asset_type": "STOCK",
                          "is_option": false,
                          "option_type": null,
                          "strike": null,
                          "expiry": null,
                          "contracts": null,
                          "shares_per_contract": 100,
                          "quantity": 256300.0,
                          "price": null,
                          "value": 14980735.0,
                          "cost_basis": 2954092.62,
                          "profit": 12026642.38,
                          "profit_today": 0.0,
                          "profit_percent": 0.0
                        }
                      ],
                      "all_positions": [
                        {
                          "ticker": "ASTS",
                          "root_ticker": "ASTS",
                          "clean_symbol": "ASTS",
                          "name": "AST SpaceMobile",
                          "security_id": "sec_204f3dfd7a184285bd4c392ee5946127",
                          "type": "EQUITY",
                          "asset_type": "STOCK",
                          "is_option": false,
                          "option_type": null,
                          "strike": null,
                          "expiry": null,
                          "contracts": null,
                          "shares_per_contract": 100,
                          "quantity": 256300.0,
                          "price": null,
                          "value": 14980735.0,
                          "cost_basis": 2954092.62,
                          "profit": 12026642.38,
                          "profit_today": 0.0,
                          "profit_percent": 0.0
                        }
                      ],
                      "options_count": 7,
                      "options_value": -597550.0,
                      "equity_value": 15746441.82,
                      "options_percent": -3.67,
                      "shadow_ratio": 1123.74,
                      "slug": "/@TrogdorStrikesAgain"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/shadow.json": {
      "get": {
        "tags": [
          "Whales"
        ],
        "summary": "Shadow whales (clout inversion)",
        "operationId": "get_api_shadow_json",
        "description": "The same whales sorted by verified dollars per follower: big capital, tiny following. Large file. Currently 395 whales.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shadow"
                },
                "example": {
                  "total": 395,
                  "whales": [
                    {
                      "username": "BearHugger",
                      "profile_id": "prf_97b2a88ccd2c4390b532478bfb845ea6",
                      "followers": 2,
                      "following": 10,
                      "total_likes": 0,
                      "total_value": 1458139.24,
                      "cost_basis": 287326.47,
                      "profit": 232818.59,
                      "profit_percent": 81.03,
                      "profit_today": 1779.86,
                      "cash_balance": 573370.5,
                      "verified_as_of": "2026-10-02T23:00:27.071Z",
                      "positions_count": 24,
                      "top_positions": [
                        {
                          "ticker": "VTIVX",
                          "root_ticker": "VTIVX",
                          "clean_symbol": "VTIVX",
                          "name": "Vanguard Target Retirement 2045 Inv",
                          "security_id": "sec_edae6748fa9840aeac25dd45a84ebf1c",
                          "type": "EQUITY",
                          "asset_type": "STOCK",
                          "is_option": false,
                          "option_type": null,
                          "strike": null,
                          "expiry": null,
                          "contracts": null,
                          "shares_per_contract": 100,
                          "quantity": 7910.436,
                          "price": null,
                          "value": 298381.65,
                          "cost_basis": 0.0,
                          "profit": 0.0,
                          "profit_today": 0.0,
                          "profit_percent": 0.0
                        }
                      ],
                      "all_positions": [
                        {
                          "ticker": "VTIVX",
                          "root_ticker": "VTIVX",
                          "clean_symbol": "VTIVX",
                          "name": "Vanguard Target Retirement 2045 Inv",
                          "security_id": "sec_edae6748fa9840aeac25dd45a84ebf1c",
                          "type": "EQUITY",
                          "asset_type": "STOCK",
                          "is_option": false,
                          "option_type": null,
                          "strike": null,
                          "expiry": null,
                          "contracts": null,
                          "shares_per_contract": 100,
                          "quantity": 7910.44,
                          "price": null,
                          "value": 298381.65,
                          "cost_basis": 0.0,
                          "profit": 0.0,
                          "profit_today": 0.0,
                          "profit_percent": 0.0
                        }
                      ],
                      "options_count": 0,
                      "options_value": 0,
                      "equity_value": 884768.77,
                      "options_percent": 0.0,
                      "shadow_ratio": 729069.62,
                      "slug": "/@BearHugger"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Flagged accounts",
        "operationId": "get_api_funnel_json",
        "description": "Accounts on the telegramscammers.com flag list, enriched with public Telegram recon. Wording: flagged for investigation, not a finding of fraud. Currently 150 accounts.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Funnel"
                },
                "example": {
                  "source": "TelegramScammers.com open data, enriched by AfterMath post-history pass",
                  "credit": "https://telegramscammers.com",
                  "database": "https://telegramscammers.com/database",
                  "network": "https://telegramscammers.com/network",
                  "submit_intel": "https://telegramscammers.com/submit",
                  "upstream_json": "https://telegramscammers.com/accounts.json",
                  "disclaimer": "Flagged for investigation, not a finding of fraud. Tiers: reported (single observation), corroborated (shared Telegram link across accounts), verified (proof...",
                  "count": 150,
                  "tiers": {
                    "reported": 44,
                    "corroborated": 80,
                    "verified": 26
                  },
                  "shared_link_clusters": [
                    {
                      "link": "t.me/f_trad_free_channel",
                      "accounts": [
                        "DGainers"
                      ]
                    }
                  ],
                  "tickers": [
                    {
                      "ticker": "SPY",
                      "ah_accounts": 44,
                      "ah_posts": 186,
                      "tg_channels": 27,
                      "tg_posts": 1413
                    }
                  ],
                  "callouts": {
                    "option_opens": 6995,
                    "option_closes": 2585,
                    "channels_covered": 30,
                    "outcomes": {
                      "n_scored": 2134,
                      "window_start": "2026-05-26",
                      "window_end": "2026-10-13",
                      "win_rate": 0.1757,
                      "median_return": -100.0,
                      "share_worth_zero": 0.7652,
                      "sample_warning": "Callouts from public channels only, scored at expiry vs underlying close; survivorship and parser limits apply."
                    },
                    "paths": {
                      "n_scored": 2696,
                      "window_start": "2026-03-26",
                      "window_end": "2026-10-14",
                      "ended_green_rate": 0.3616,
                      "ended_green_ci": [
                        0.3437
                      ],
                      "median_peak_pct": 17.6,
                      "median_drawdown_pct": -22.4,
                      "tp_first_rate": 0.197,
                      "sl_first_rate": 0.1869,
                      "tp_first_ci": [
                        0.1824
                      ],
                      "sl_first_ci": [
                        0.1727
                      ],
                      "ended_green_cluster_ci": [
                        0.3394
                      ],
                      "tp_first_cluster_ci": [
                        0.1794
                      ],
                      "sl_first_cluster_ci": [
                        0.1679
                      ],
                      "rule_mean_cluster_ci": [
                        -4.5526
                      ],
                      "cluster_note": "Ranges marked cluster resample whole calendar days, because calls on one day are not independent.",
                      "rule": "+50% target / -50% stop within 30 minutes of the fill",
                      "rule_mean_return_pct": -3.2,
                      "method": "Contract's own 5-minute trade bars for the 30 minutes after an in-session post; fill = open of the first bar at or after the post; ended above fill = last cl..."
                    }
                  },
                  "accounts": [
                    {
                      "listing_id": "TS-001",
                      "username": "alpha6",
                      "tier": "reported",
                      "telegram_link": "t.me/alphasyndicate11",
                      "telegram_links": [
                        "t.me/alphasyndicate11"
                      ],
                      "channel_title": "Traderxsphere Group\ud83d\udcc8",
                      "channel_members": 157,
                      "channel_alive": true,
                      "public_posts_seen": 18,
                      "channels": [
                        {
                          "link": "t.me/alphasyndicate11",
                          "channel_title": "Traderxsphere Group\ud83d\udcc8",
                          "channel_members": 157,
                          "channel_alive": true,
                          "public_posts_seen": 18
                        }
                      ],
                      "cluster_key": null,
                      "bio": "Stock trader.                                                      Tap in\ud83d\udc47\ud83c\udffb",
                      "created_at": "2026-06-08",
                      "num_followers": 4,
                      "post_count": 4,
                      "posts_mentioning_telegram": 2,
                      "max_duplicate_post": 2,
                      "top_tickers": [],
                      "tickers_pushed": [],
                      "risk_score": 20,
                      "risk_factors": [
                        "single funnel observation"
                      ],
                      "age_days": 128,
                      "afterhour_url": "https://afterhour.com/alpha6",
                      "listing_url": "https://telegramscammers.com/database"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-tickers.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Funnel ticker rankings",
        "operationId": "get_api_funnel_tickers_json",
        "description": "Tickers most mentioned across funnel channels. Currently 676 records.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelTickers"
                },
                "example": {
                  "source": "AfterMath analysis of flagged AfterHour accounts and public Telegram channels",
                  "generated_at": "2026-10-14T21:23:58Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com.",
                  "small_sample_warning": "Based on 2134 scored option callouts posted 2026-05-26 to 2026-10-13 from public channels. Scores are hold-to-expiry intrinsic value against the entry price ...",
                  "count": 676,
                  "tickers": [
                    {
                      "ticker": "SPY",
                      "ah_accounts": 44,
                      "ah_posts": 186,
                      "tg_channels": 27,
                      "tg_posts": 1413
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-calls.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Parsed callouts (recent)",
        "operationId": "get_api_funnel_calls_json",
        "description": "Parsed trade callouts from funnel channels. Quoted results are channel claims, unverified. Currently 1000 calls.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelCalls"
                },
                "example": {
                  "source": "AfterMath parser over public Telegram channel posts (passive, read-only)",
                  "generated_at": "2026-10-14T21:23:58Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com.",
                  "small_sample_warning": "Based on 2134 scored option callouts posted 2026-05-26 to 2026-10-13 from public channels. Scores are hold-to-expiry intrinsic value against the entry price ...",
                  "quoted_results_are_channel_claims": "quoted_results_are_channel_claims: result_pct is what the channel itself posted, not verified, and winners dominate quoted closes (survivorship). Use 'outcom...",
                  "total_parsed": 14706,
                  "count": 1000,
                  "calls_with_scored_outcome": 65,
                  "calls": [
                    {
                      "channel": "t.me/mrquickerfreealert",
                      "posted": "2026-10-14T19:23:50+00:00",
                      "ticker": "GL",
                      "kind": "option",
                      "side": "call",
                      "strike": 170.0,
                      "expiry": "2026-10-16",
                      "entry_price": 0.0,
                      "action": "open",
                      "result_pct": null,
                      "text": "BTO $GL OCT/16 170CALL e.0.75",
                      "outcome": {
                        "status": "pending",
                        "reason": "expiry 2026-10-16 not yet passed",
                        "expiry_effective": "2026-10-16",
                        "expiry_note": null
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-calls-full.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Parsed callouts (full archive, JSON)",
        "operationId": "get_api_funnel_calls_full_json",
        "description": "Full callout archive including scoring fields. Large file. Currently 14706 calls.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelCallsFull"
                },
                "example": {
                  "generated_at": "2026-10-14T21:23:59Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com.",
                  "quoted_results_are_channel_claims": "quoted_results_are_channel_claims: result_pct is what the channel itself posted, not verified, and winners dominate quoted closes (survivorship). Use 'outcom...",
                  "path_note": "'path' is present on scored option opens when the export is built where the local 5-minute bar archive exists: the contract's own traded price after the post...",
                  "note": "Every parsed callout from public Telegram channels (repeat posts included, flagged echo=true). 'outcome' is present when the callout is a scored option open:...",
                  "count": 14706,
                  "scored_count": 2297,
                  "path_count": 2727,
                  "window_start": "2026-03-23",
                  "window_end": "2026-10-14",
                  "calls": [
                    {
                      "id": "alphasyndicate11/9",
                      "channel": "t.me/alphasyndicate11",
                      "posted": "2026-03-23T05:42:11+00:00",
                      "ticker": "SPY",
                      "kind": "stock",
                      "side": null,
                      "strike": null,
                      "expiry": null,
                      "entry_price": null,
                      "exit_price": null,
                      "action": "mention",
                      "result_pct": null,
                      "open_id": null,
                      "echo": false,
                      "parse_flags": [],
                      "text": "This is the part of the Market where people get trapped every time.\n\nThe market drops.\nIt bounces.\nEveryone thinks the bottom is in.\n\nThen the real correctio..."
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-calls-full.csv": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Parsed callouts (full archive, CSV)",
        "operationId": "get_api_funnel_calls_full_csv",
        "description": "The full callout archive as CSV, one row per callout. Large file. Currently 14706 rows.",
        "responses": {
          "200": {
            "description": "CSV file",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-option-paths.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Option price paths",
        "operationId": "get_api_funnel_option_paths_json",
        "description": "What each called option contract did after the post (5-minute trade bars), with sample sizes and coverage.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelOptionPaths"
                },
                "example": {
                  "generated_at": "2026-10-14T21:21:37Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Analysis of public posts. The channels and accounts are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com....",
                  "methodology": {
                    "windows": {
                      "intraday": "Calls posted during the regular session (9:30 to 16:00 ET): the 30 minutes of 5-minute bars after the call.",
                      "daily": "Daily callouts (posted before the open, after the close, or on a weekend): the whole next regular session."
                    },
                    "fill_rule": "The fill is the open of the first 5-minute bar at or after the post (or the session open for daily callouts). If no trade printed within 15 minutes of the po...",
                    "rules": {
                      "list": "+50% / -50%; +100% / -50%; +30% / -30%",
                      "definition": "A rule is take-profit / stop-loss measured from the fill. TP first means the take-profit level traded before the stop; SL first means the stop traded first; ..."
                    },
                    "ended_green_definition": "Ended green means the last bar's close in the window was above the fill price. It is not a trading win rate.",
                    "assumptions": [
                      "Every called-out contract is judged by its own traded price after the post, not by the underlying and not at expiry."
                    ],
                    "limitations": [
                      "Bars are trade prints, not bid and ask. Spread and slippage are NOT modelled, so true results for someone trading these calls would be worse, most of all on ..."
                    ]
                  },
                  "window_start": "2026-03-26",
                  "window_end": "2026-10-14",
                  "small_n_threshold": 25,
                  "coverage": {
                    "stages": [
                      {
                        "stage": "Option open callouts (repeat posts removed)",
                        "n": 3508
                      }
                    ],
                    "unscorable_by_reason": [
                      {
                        "reason": "illiquid: first print more than 15 minutes after the post or the open",
                        "n": 11
                      }
                    ],
                    "no_bars_by_category": {
                      "unknown": 74,
                      "intraday": 23,
                      "daily": 1
                    },
                    "status_counts": {
                      "scored": 2727,
                      "unscorable": 11,
                      "no_bars": 98,
                      "day_view": 10
                    },
                    "no_bars_unknown_note": "'unknown' = the contract was not captured at all (older than the data retains, or not listed), so the call was never placed in the intraday or daily window."
                  },
                  "pooled": {
                    "intraday": {
                      "n": 2696,
                      "ended_green": {
                        "k": 975,
                        "n": 2696,
                        "rate": 0.3616,
                        "ci": [
                          0.3437
                        ]
                      },
                      "peak_pct": {
                        "median": 17.6,
                        "mean": 36.3
                      },
                      "drawdown_pct": {
                        "median": -22.4,
                        "mean": -28.4
                      },
                      "end_return_pct": {
                        "median": -6.2,
                        "mean": -1.9
                      },
                      "rules": [
                        {
                          "rule": "tp50_sl50",
                          "take_profit_pct": 50,
                          "stop_loss_pct": 50,
                          "n": 2696,
                          "tp_first": 531,
                          "sl_first": 504,
                          "neither": 1661,
                          "tp_first_rate": 0.197,
                          "tp_first_ci": [
                            0.1824
                          ],
                          "sl_first_rate": 0.1869,
                          "sl_first_ci": [
                            0.1727
                          ],
                          "neither_rate": 0.6161,
                          "mean_return_pct": -3.2
                        }
                      ],
                      "headline_rule": {
                        "rule": "tp50_sl50",
                        "tp_first": 531,
                        "sl_first": 504,
                        "neither": 1661,
                        "tp_first_rate": 0.197,
                        "sl_first_rate": 0.1869,
                        "tp_first_ci": [
                          0.1824
                        ],
                        "sl_first_ci": [
                          0.1727
                        ],
                        "mean_return_pct": -3.2
                      },
                      "liquidity": {
                        "n": 2696,
                        "median_window_volume": 2250.0,
                        "thin_under_20_contracts": {
                          "k": 98,
                          "n": 2696,
                          "rate": 0.0364,
                          "ci": [
                            0.0299
                          ]
                        }
                      },
                      "quoted_entry_realism": {
                        "n": 2403,
                        "median_quoted_vs_fill_pct": -1.9,
                        "within_25pct": {
                          "k": 1681,
                          "n": 2403,
                          "rate": 0.6995,
                          "ci": [
                            0.6809
                          ]
                        },
                        "unfillable_quote_more_than_25pct_below_fill": {
                          "k": 368,
                          "n": 2403,
                          "rate": 0.1531,
                          "ci": [
                            0.1393
                          ]
                        },
                        "quoted_more_than_25pct_above_fill": {
                          "k": 354,
                          "n": 2403,
                          "rate": 0.1473,
                          "ci": [
                            0.1337
                          ]
                        }
                      }
                    },
                    "daily": {
                      "n": 31,
                      "ended_green": {
                        "k": 14,
                        "n": 31,
                        "rate": 0.4516,
                        "ci": [
                          0.2916
                        ]
                      },
                      "peak_pct": {
                        "median": 41.8,
                        "mean": 134.7
                      },
                      "drawdown_pct": {
                        "median": -30.4,
                        "mean": -41.2
                      },
                      "end_return_pct": {
                        "median": -16.6,
                        "mean": 43.6
                      },
                      "rules": [
                        {
                          "rule": "tp50_sl50",
                          "take_profit_pct": 50,
                          "stop_loss_pct": 50,
                          "n": 31,
                          "tp_first": 14,
                          "sl_first": 10,
                          "neither": 7,
                          "tp_first_rate": 0.4516,
                          "tp_first_ci": [
                            0.2916
                          ],
                          "sl_first_rate": 0.3226,
                          "sl_first_ci": [
                            0.1857
                          ],
                          "neither_rate": 0.2258,
                          "mean_return_pct": 4.8
                        }
                      ],
                      "headline_rule": {
                        "rule": "tp50_sl50",
                        "tp_first": 14,
                        "sl_first": 10,
                        "neither": 7,
                        "tp_first_rate": 0.4516,
                        "sl_first_rate": 0.3226,
                        "tp_first_ci": [
                          0.2916
                        ],
                        "sl_first_ci": [
                          0.1857
                        ],
                        "mean_return_pct": 4.8
                      },
                      "liquidity": {
                        "n": 31,
                        "median_window_volume": 1461,
                        "thin_under_20_contracts": {
                          "k": 0,
                          "n": 31,
                          "rate": 0.0,
                          "ci": [
                            0.0
                          ]
                        }
                      },
                      "quoted_entry_realism": {
                        "n": 22,
                        "median_quoted_vs_fill_pct": -10.3,
                        "within_25pct": {
                          "k": 5,
                          "n": 22,
                          "rate": 0.2273,
                          "ci": [
                            0.1012
                          ]
                        },
                        "unfillable_quote_more_than_25pct_below_fill": {
                          "k": 9,
                          "n": 22,
                          "rate": 0.4091,
                          "ci": [
                            0.2326
                          ]
                        },
                        "quoted_more_than_25pct_above_fill": {
                          "k": 8,
                          "n": 22,
                          "rate": 0.3636,
                          "ci": [
                            0.1973
                          ]
                        }
                      }
                    }
                  },
                  "delay_sensitivity": {
                    "rows": [
                      {
                        "delay_bars": 0,
                        "delay_minutes": 0,
                        "n": 2562,
                        "green_rate": 0.3622,
                        "green_ci": [
                          0.3438
                        ],
                        "mean_end_return_pct": -2.0,
                        "tp_first_rate": 0.2034,
                        "sl_first_rate": 0.1944,
                        "rule_mean_return_pct": -3.4,
                        "shortened_window": {
                          "n": 2562,
                          "tp_first_rate": 0.2034,
                          "sl_first_rate": 0.1944,
                          "rule_mean_return_pct": -3.4
                        }
                      }
                    ],
                    "note": "Re-scored from the local bar archive with the fill moved N five-minute bars after the first bar at or after the post (intraday calls only). Only calls that h...",
                    "rule": "tp50_sl50",
                    "reused_from_previous": false,
                    "n_pooled_headline": 2696,
                    "n_dropped_for_like_for_like": 134,
                    "like_for_like": true
                  },
                  "fill_gap": {
                    "n": 2696,
                    "median_s": 153,
                    "p90_s": 275,
                    "over_300s": {
                      "k": 49,
                      "n": 2696,
                      "rate": 0.0182,
                      "ci": [
                        0.0138
                      ]
                    },
                    "over_600s": {
                      "k": 14,
                      "n": 2696,
                      "rate": 0.0052,
                      "ci": [
                        0.0031
                      ]
                    }
                  },
                  "robustness": {
                    "n": 2696,
                    "distinct_days": 109,
                    "max_calls_in_one_day": 55,
                    "top_ticker": {
                      "ticker": "SPX",
                      "n": 441
                    },
                    "extra_rows_same_contract_same_day": 409,
                    "extra_rows_same_contract_same_minute": 68,
                    "cluster_by_day_95_range": {
                      "ended_green": [
                        0.3394
                      ],
                      "tp_first": [
                        0.1794
                      ],
                      "sl_first": [
                        0.1679
                      ],
                      "rule_mean_return_pct": [
                        -4.5526
                      ]
                    },
                    "without_same_minute_duplicates": {
                      "n": 2628,
                      "ended_green": {
                        "k": 954,
                        "n": 2628,
                        "rate": 0.363,
                        "ci": [
                          0.3448
                        ]
                      },
                      "tp_first_rate": 0.1986,
                      "sl_first_rate": 0.1876,
                      "rule_mean_return_pct": -3.1
                    },
                    "selection": {
                      "scored_rows": 2727,
                      "truncated_window_rows": 107,
                      "two_or_fewer_bars": 67,
                      "neither_level_hit_valued_at_last_print": 1661
                    },
                    "vendor_crosscheck": {
                      "contract_days_compared": 311,
                      "close_within_1_cent": 296,
                      "low_agrees": 243,
                      "high_agrees": 170,
                      "vendor_high_above_reference": 110,
                      "vendor_high_above_by_more_than_10pct": 33,
                      "vendor_high_below_reference": 31,
                      "note": "One-off manual comparison of the Alpaca 5-minute bars (day high/low/close) with archived Yahoo daily bars. Extra prints in the Alpaca feed raise peaks and TP..."
                    }
                  },
                  "by_channel": [
                    {
                      "channel": "t.me/crestedgeroom",
                      "n": 430,
                      "small": false,
                      "green_rate": 0.3256,
                      "green_ci": [
                        0.283
                      ],
                      "median_peak_pct": 19.0,
                      "median_drawdown_pct": -27.7,
                      "median_end_return_pct": -12.6,
                      "mean_end_return_pct": -3.5,
                      "tp_first_rate": 0.2256,
                      "tp_first_ci": [
                        0.1886
                      ],
                      "sl_first_rate": 0.1953,
                      "sl_first_ci": [
                        0.1606
                      ],
                      "rule_mean_return_pct": -4.8,
                      "median_window_volume": 5217.0,
                      "unfillable_quote_rate": 0.1211,
                      "unfillable_quote_n": 421,
                      "n_daily": 1
                    }
                  ],
                  "by_ticker": [
                    {
                      "ticker": "SPX",
                      "n": 441,
                      "small": false,
                      "green_rate": 0.3741,
                      "green_ci": [
                        0.3303
                      ],
                      "median_peak_pct": 33.5,
                      "median_drawdown_pct": -38.2,
                      "median_end_return_pct": -15.7,
                      "mean_end_return_pct": 2.7,
                      "tp_first_rate": 0.356,
                      "tp_first_ci": [
                        0.3127
                      ],
                      "sl_first_rate": 0.322,
                      "sl_first_ci": [
                        0.2801
                      ],
                      "rule_mean_return_pct": -1.5,
                      "median_window_volume": 9808,
                      "unfillable_quote_rate": 0.1616,
                      "unfillable_quote_n": 427
                    }
                  ],
                  "by_session_hour": [
                    {
                      "hour": "09:30 to 09:59 ET",
                      "n": 726,
                      "small": false,
                      "green_rate": 0.3884,
                      "green_ci": [
                        0.3537
                      ],
                      "median_peak_pct": 25.6,
                      "median_drawdown_pct": -30.7,
                      "median_end_return_pct": -10.2,
                      "mean_end_return_pct": -2.4,
                      "tp_first_rate": 0.292,
                      "tp_first_ci": [
                        0.2601
                      ],
                      "sl_first_rate": 0.2782,
                      "sl_first_ci": [
                        0.2469
                      ],
                      "rule_mean_return_pct": -2.5,
                      "median_window_volume": 7362.5,
                      "unfillable_quote_rate": 0.1971,
                      "unfillable_quote_n": 695,
                      "hour_et": 9
                    }
                  ],
                  "n_channels": 27
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-scorecard.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Scorecard",
        "operationId": "get_api_funnel_scorecard_json",
        "description": "Pooled and per-channel scoring: option paths, hold-to-expiry, and forex/gold/index TP1-first vs SL-first, with Wilson 95% ranges beside every rate.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelScorecard"
                },
                "example": {
                  "generated_at": "2026-10-14T21:23:59Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Analysis of public posts. Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com...",
                  "source": "AfterMath analysis of public Telegram channel posts against the real tape (Yahoo public bars); passive and read-only",
                  "methodology": "https://ah.mphinance.com/scorecard",
                  "methodology_doc": "docs/FUNNEL.md",
                  "conventions": "rates are fractions 0..1; *_ci are Wilson 95% intervals [low, high]; option returns are percent; FX results are in R (stop distance = 1R)",
                  "small_sample_rule": "channel or instrument rows with n under 5 are flagged small and hidden by default on the page; they remain in this file",
                  "options": {
                    "available": true,
                    "pooled": {
                      "n_scored": 2134,
                      "win_rate": 0.1757,
                      "win_ci": [
                        0.1602
                      ],
                      "median_return": -100.0,
                      "mean_return": -10.0084,
                      "worthless_share": 0.7652,
                      "worthless_ci": [
                        0.7468
                      ],
                      "touched_breakeven_optimistic_share": 0.4302,
                      "max_return": 3164.54,
                      "mean_return_excl_top5": -16.1808,
                      "n_distinct_contracts": 1853,
                      "n_contract_days": 2030,
                      "contract_days": {
                        "win_rate": 0.1744,
                        "win_ci": [
                          0.1585
                        ],
                        "median_return": -100.0,
                        "mean_return": -9.1667,
                        "worthless_share": 0.7675,
                        "worthless_ci": [
                          0.7486
                        ],
                        "touched_breakeven_optimistic_share": 0.4256,
                        "max_return": 3164.54,
                        "mean_return_excl_top5": -15.654
                      },
                      "distinct_contracts": {
                        "win_rate": 0.1684,
                        "win_ci": [
                          0.152
                        ],
                        "median_return": -100.0,
                        "mean_return": -16.798,
                        "worthless_share": 0.7728,
                        "worthless_ci": [
                          0.7532
                        ],
                        "touched_breakeven_optimistic_share": 0.4134,
                        "max_return": 3164.54,
                        "mean_return_excl_top5": -23.6558
                      },
                      "window_start": "2026-05-26",
                      "window_end": "2026-10-13",
                      "return_unit": "percent of quoted entry premium, held to expiry; -100 = expired worthless",
                      "win_definition": "intrinsic value at expiry above the quoted entry premium",
                      "hold_to_expiry_assumptions": [
                        "No option price history exists in the public data used here. Each option callout is scored by holding it to expiry: intrinsic value at the expiry-date close ..."
                      ]
                    },
                    "coverage_funnel": [
                      {
                        "stage": "option open callouts parsed",
                        "n": 6995,
                        "kind": "start"
                      }
                    ],
                    "by_dte_bucket": [
                      {
                        "bucket": "0 days (same day)",
                        "n_scored": 1003,
                        "win_rate": 0.1994,
                        "win_ci": [
                          0.1758
                        ],
                        "median_return": -100.0,
                        "mean_return": -8.144,
                        "worthless_share": 0.7208,
                        "worthless_ci": [
                          0.6923
                        ],
                        "touched_breakeven_optimistic_share": 0.5095,
                        "max_return": 3164.54,
                        "mean_return_excl_top5": -19.629
                      }
                    ],
                    "by_ticker": [
                      {
                        "ticker": "SPX",
                        "n_scored": 376,
                        "win_rate": 0.1436,
                        "win_ci": [
                          0.1118
                        ],
                        "median_return": -100.0,
                        "mean_return": -23.7126,
                        "worthless_share": 0.8085,
                        "worthless_ci": [
                          0.7657
                        ],
                        "touched_breakeven_optimistic_share": 0.3963,
                        "max_return": 2452.2,
                        "mean_return_excl_top5": -45.8213
                      }
                    ],
                    "by_channel": [
                      {
                        "channel": "t.me/crestedgeroom",
                        "n_scored": 380,
                        "win_rate": 0.2026,
                        "win_ci": [
                          0.1653
                        ],
                        "median_return": -100.0,
                        "mean_return": -19.4422,
                        "worthless_share": 0.7263,
                        "worthless_ci": [
                          0.6794
                        ],
                        "touched_breakeven_optimistic_share": 0.4895,
                        "max_return": 898.59,
                        "mean_return_excl_top5": -31.363,
                        "quoted_closes": 434,
                        "quoted_mean_result": 75.2044,
                        "quoted_median_result": 39.05,
                        "small": false
                      }
                    ],
                    "paired": {
                      "n_pairs": 739,
                      "n_contracts": 480,
                      "quoted_win_rate": 0.9256,
                      "quoted_win_ci": [
                        0.9044
                      ],
                      "quoted_median": 42.0,
                      "quoted_mean": 71.14,
                      "held_win_rate": 0.2706,
                      "held_win_ci": [
                        0.2398
                      ],
                      "held_median": -100.0,
                      "held_mean": 40.5853,
                      "quoted_winners": 684,
                      "quoted_winners_that_would_have_lost": 492,
                      "quoted_winners_that_would_have_lost_ci": [
                        0.6845
                      ],
                      "link_rule": "exact contract match between the close post and an earlier scored open from the same channel",
                      "all_links": {
                        "n_pairs": 930,
                        "n_contracts": 562,
                        "quoted_win_rate": 0.9333,
                        "quoted_win_ci": [
                          0.9155
                        ],
                        "quoted_median": 43.0,
                        "quoted_mean": 84.9289,
                        "held_win_rate": 0.2677,
                        "held_win_ci": [
                          0.2403
                        ],
                        "held_median": -100.0,
                        "held_mean": 39.4727,
                        "quoted_winners": 868,
                        "quoted_winners_that_would_have_lost": 628,
                        "quoted_winners_that_would_have_lost_ci": [
                          0.6928
                        ],
                        "link_rule": "contract match plus the looser same-ticker same-day match"
                      },
                      "caveat": "A channel's close is an early exit; the held column is the same contract held to expiry. A quoted win that would have expired worthless is a different trade,..."
                    }
                  },
                  "fx": {
                    "available": true,
                    "pooled": {
                      "n_signals_scored": 63,
                      "market_fill_n": 51,
                      "touch_fill_n": 12,
                      "window_start": "2026-09-14",
                      "window_end": "2026-10-13",
                      "outcome_definitions": {
                        "tp1_hit_rate": "TP1 traded before the stop within 24 hours of the fill (share of market-fill signals)",
                        "sl_first_rate": "the stop traded before TP1 within 24 hours (share of market-fill signals)",
                        "tp2plus_rate": "TP2 traded before the stop, among signals that list two or more targets",
                        "mean_r_tp1": "mean result in R (stop distance = 1R) if every trade exits at TP1 or the stop; unresolved marked to the last close",
                        "mean_r_last": "mean result in R if every trade holds for the last target or the stop",
                        "breakeven_tp1_rate": "1 / (1 + average winning TP1 R): the TP1 hit rate needed to break even before costs, for resolved trades"
                      },
                      "tp1_hit_rate": 0.5098,
                      "tp1_ci": [
                        0.3768
                      ],
                      "sl_first_rate": 0.4902,
                      "sl_first_ci": [
                        0.3586
                      ],
                      "unresolved_rate": 0.0,
                      "tp2plus_rate": 0.3125,
                      "tp2plus_n": 15,
                      "tp2plus_denominator": 48,
                      "tp2plus_ci": [
                        0.1995
                      ],
                      "mean_r_tp1": -0.2032,
                      "mean_r_last": -0.145,
                      "avg_tp1_distance_r": 0.9633,
                      "avg_winning_tp1_r": 0.563,
                      "breakeven_tp1_rate": 0.6398,
                      "median_minutes_to_first_event": 43.1,
                      "ambiguous_same_bar": 0,
                      "variant": "market-fill",
                      "concentration": {
                        "n": 51,
                        "n_channels": 2,
                        "top_channel": "t.me/stockmarketvault",
                        "top_channel_n": 50,
                        "top_instrument": "XAUUSD",
                        "top_instrument_n": 44,
                        "n_same_day_setup_groups": 31,
                        "window_days": 30,
                        "mean_r_tp1_se": 0.125,
                        "mean_r_tp1_range95": [
                          -0.449
                        ],
                        "mean_r_sign_established": false,
                        "caveat": "50 of 51 market-fill signals come from one channel (t.me/stockmarketvault) and 44 are XAUUSD; they fall in 31 same-day channel/instrument/side groups, so the..."
                      }
                    },
                    "by_instrument": [
                      {
                        "instrument": "XAUUSD",
                        "touch_n": 11,
                        "small": false,
                        "n": 44,
                        "tp1_hit_rate": 0.5227,
                        "tp1_ci": [
                          0.3794
                        ],
                        "sl_first_rate": 0.4773,
                        "sl_first_ci": [
                          0.3375
                        ],
                        "unresolved_rate": 0.0,
                        "tp2plus_rate": 0.3023,
                        "tp2plus_n": 13,
                        "tp2plus_denominator": 43,
                        "tp2plus_ci": [
                          0.186
                        ],
                        "mean_r_tp1": -0.1675,
                        "mean_r_last": -0.1836,
                        "avg_tp1_distance_r": 0.837,
                        "avg_winning_tp1_r": 0.5927,
                        "breakeven_tp1_rate": 0.6279,
                        "median_minutes_to_first_event": 43.85,
                        "ambiguous_same_bar": 0
                      }
                    ],
                    "by_channel": [
                      {
                        "channel": "t.me/stockmarketvault",
                        "touch_n": 12,
                        "small": false,
                        "n": 50,
                        "tp1_hit_rate": 0.52,
                        "tp1_ci": [
                          0.3851
                        ],
                        "sl_first_rate": 0.48,
                        "sl_first_ci": [
                          0.348
                        ],
                        "unresolved_rate": 0.0,
                        "tp2plus_rate": 0.3125,
                        "tp2plus_n": 15,
                        "tp2plus_denominator": 48,
                        "tp2plus_ci": [
                          0.1995
                        ],
                        "mean_r_tp1": -0.1872,
                        "mean_r_last": -0.1279,
                        "avg_tp1_distance_r": 0.8311,
                        "avg_winning_tp1_r": 0.563,
                        "breakeven_tp1_rate": 0.6398,
                        "median_minutes_to_first_event": 40.15,
                        "ambiguous_same_bar": 0
                      }
                    ],
                    "weekly_by_channel": [
                      {
                        "channel": "t.me/stockmarketvault",
                        "n_scored": 62,
                        "weeks": [
                          {
                            "week_start": "2026-09-14",
                            "distinct_signals_posted": 12,
                            "market_n": 3,
                            "stats": {},
                            "touch_n": 1,
                            "touch_tp1_hit_rate": 0.0
                          }
                        ],
                        "note": "Week starts Monday (UTC); the last week may be partial. Weekly cells are small: read the range, not the point estimate."
                      }
                    ],
                    "touch_variant": {
                      "n": 12,
                      "note": "Fill-on-touch signals: limit or stop style entries away from the market at post time, filled when price traded into the zone within 4 hours. Reported separat...",
                      "pooled": {
                        "n": 12,
                        "tp1_hit_rate": 0.4167,
                        "tp1_ci": [
                          0.1933
                        ],
                        "sl_first_rate": 0.5833,
                        "sl_first_ci": [
                          0.3195
                        ],
                        "unresolved_rate": 0.0,
                        "tp2plus_rate": 0.2727,
                        "tp2plus_n": 3,
                        "tp2plus_denominator": 11,
                        "tp2plus_ci": [
                          0.0975
                        ],
                        "mean_r_tp1": -0.3424,
                        "mean_r_last": -0.0543,
                        "avg_tp1_distance_r": 0.6822,
                        "avg_winning_tp1_r": 0.5783,
                        "breakeven_tp1_rate": 0.6336,
                        "median_minutes_to_first_event": 56.7,
                        "ambiguous_same_bar": 0
                      },
                      "by_instrument": [
                        {
                          "instrument": "XAUUSD",
                          "n": 11,
                          "tp1_hit_rate": 0.3636,
                          "tp1_ci": [
                            0.1517
                          ],
                          "sl_first_rate": 0.6364,
                          "sl_first_ci": [
                            0.3538
                          ],
                          "unresolved_rate": 0.0,
                          "tp2plus_rate": 0.2,
                          "tp2plus_n": 2,
                          "tp2plus_denominator": 10,
                          "tp2plus_ci": [
                            0.0567
                          ],
                          "mean_r_tp1": -0.3945,
                          "mean_r_last": -0.4089,
                          "avg_tp1_distance_r": 0.7233,
                          "avg_winning_tp1_r": 0.6652,
                          "breakeven_tp1_rate": 0.6005,
                          "median_minutes_to_first_event": 47.5,
                          "ambiguous_same_bar": 0
                        }
                      ],
                      "by_channel": [
                        {
                          "channel": "t.me/stockmarketvault",
                          "small": false,
                          "n": 12,
                          "tp1_hit_rate": 0.4167,
                          "tp1_ci": [
                            0.1933
                          ],
                          "sl_first_rate": 0.5833,
                          "sl_first_ci": [
                            0.3195
                          ],
                          "unresolved_rate": 0.0,
                          "tp2plus_rate": 0.2727,
                          "tp2plus_n": 3,
                          "tp2plus_denominator": 11,
                          "tp2plus_ci": [
                            0.0975
                          ],
                          "mean_r_tp1": -0.3424,
                          "mean_r_last": -0.0543,
                          "avg_tp1_distance_r": 0.6822,
                          "avg_winning_tp1_r": 0.5783,
                          "breakeven_tp1_rate": 0.6336,
                          "median_minutes_to_first_event": 56.7,
                          "ambiguous_same_bar": 0
                        }
                      ]
                    },
                    "sensitivity": {
                      "rows": [
                        {
                          "mode": "auto (time-varying, headline)",
                          "gold_market": {
                            "n": 44,
                            "tp1_hit_rate": 0.52,
                            "mean_r_tp1": -0.17,
                            "mean_r_last": -0.18
                          },
                          "gold_touch": {
                            "n": 11,
                            "tp1_hit_rate": 0.36,
                            "mean_r_tp1": -0.39,
                            "mean_r_last": -0.41
                          },
                          "all_market": {
                            "n": 51,
                            "tp1_hit_rate": 0.51,
                            "mean_r_tp1": -0.2
                          },
                          "skipped_typo": 7
                        }
                      ],
                      "range": {
                        "scope": "gold, market-fill variant, across the basis assumptions in the table (excluding the no-basis row)",
                        "tp1_hit_rate": [
                          0.44
                        ],
                        "mean_r_tp1": [
                          -0.29
                        ],
                        "n": [
                          42
                        ],
                        "mean_r_tp1_same_sign": true
                      },
                      "note": "Each row rescored the same posts with a different assumption about the futures-to-spot basis. 'None' uses raw futures prices and is shown for completeness."
                    },
                    "assumptions": [
                      "Pips: gold 1 pip = 0.10, indices 1 point, FX 0.0001 (JPY pairs 0.01). Pip-denominated targets are measured from the fill price and flagged; if a channel mean..."
                    ],
                    "assumptions_report": [
                      "Fill model: the market variant fills at the close of the 5m bar containing the post, which can be up to 5 minutes after the post. Real fills on a CFD broker ..."
                    ],
                    "content_timeline": [
                      {
                        "channel": "t.me/bob_signalsfreealert",
                        "fx_posts": 0,
                        "fx_first": null,
                        "fx_last": null,
                        "fx_first_outside_bulk": null,
                        "fx_last_outside_bulk": null,
                        "stock_option_posts": 1282,
                        "stock_first": "2026-05-29",
                        "stock_last": "2026-10-14",
                        "stock_first_outside_bulk": "2026-05-29",
                        "stock_last_outside_bulk": "2026-10-14",
                        "stock_option_posts_in_bulk_groups": 0,
                        "bulk_groups": [],
                        "bulk_group_count": 0,
                        "weeks": [
                          {
                            "week": "2026-05-25",
                            "fx": 0,
                            "stock": 1
                          }
                        ]
                      }
                    ],
                    "coverage_funnel": [
                      {
                        "stage": "posts naming an instrument and a side",
                        "n": 386
                      }
                    ],
                    "follow_up_claims_not_scored": 94
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-fx-signals.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Forex / gold / index signals",
        "operationId": "get_api_funnel_fx_signals_json",
        "description": "Parsed and scored forex, gold and index signals from funnel channels. Currently 63 signals.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelFxSignals"
                },
                "example": {
                  "generated_at": "2026-10-14T21:23:59Z",
                  "credit": "https://telegramscammers.com",
                  "disclaimer": "Analysis of public posts. Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com...",
                  "methodology": "https://ah.mphinance.com/scorecard",
                  "count": 63,
                  "signals": [
                    {
                      "id": "stockmarketvault/3110",
                      "channel": "t.me/stockmarketvault",
                      "date": "2026-10-13T07:16:06+00:00",
                      "instrument": "XAUUSD",
                      "side": "buy",
                      "entry_lo": 4182.0,
                      "entry_hi": 4192.0,
                      "sl": 4178.0,
                      "tps": [
                        4196.0
                      ],
                      "variant": "market",
                      "outcome": "sl",
                      "r_tp1": -1.0,
                      "r_last": -1.0,
                      "minutes_to_first_event": 338.9,
                      "tps_hit": 0,
                      "text": "Buy Gold @ 4192-4182 Sl :4178 Tp1: 4196 Tp2: 4200 Enter Slowly-Layer with proper money management Do not rush your entries"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/funnel-live.json": {
      "get": {
        "tags": [
          "Telegram Funnel"
        ],
        "summary": "Live feed",
        "operationId": "get_api_funnel_live_json",
        "description": "Last 72 hours of parsed, unscored callouts and hot tickers. Refreshed every few minutes on market days. Currently 310 calls.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FunnelLive"
                },
                "example": {
                  "source": "AfterMath live feed over public Telegram channel posts (passive, read-only, unscored)",
                  "generated_at": "2026-10-16T13:33:37Z",
                  "disclaimer": "Channels and accounts here are flagged for investigation, not a finding of fraud. Flag list curated by https://telegramscammers.com.",
                  "market": "open",
                  "window_hours": 72,
                  "refresh_hint_sec": 60,
                  "channels_polled": 0,
                  "channels_total": 0,
                  "new_posts_this_run": 0,
                  "live_note": "Raw parsed callouts, newest first. Not scored here; outcomes live in funnel-calls.json and /scorecard. Not advice.",
                  "count": 310,
                  "hot_tickers": [
                    {
                      "ticker": "QQQ",
                      "n_60m": 1,
                      "n_24h": 8,
                      "chans": 3,
                      "calls": 6,
                      "puts": 2
                    }
                  ],
                  "calls": [
                    {
                      "channel": "t.me/moonwalkertrades2",
                      "posted": "2026-10-16T13:33:03+00:00",
                      "ticker": "QQQ",
                      "kind": "option",
                      "side": "put",
                      "strike": 720.0,
                      "expiry": "2026-10-16",
                      "entry_price": 0.68,
                      "action": "open",
                      "result_pct": null,
                      "text": "BTO QQQ 10/16 720p @ .68 half"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/mcp-schema.json": {
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "MCP tool and resource catalog",
        "operationId": "get_api_mcp_schema_json",
        "description": "Tool definitions (name, description, inputSchema) and resources, generated from the server code.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpSchema"
                },
                "example": {
                  "version": "1.0.0",
                  "protocolVersion": "2024-11-05",
                  "server": {
                    "name": "aftermath-altdata",
                    "description": "AfterMath Model Context Protocol (MCP) Server for verified whale tape, conviction flows and Telegram-funnel scoring.",
                    "documentation": "https://ah.mphinance.com/mcp",
                    "serverScript": "https://ah.mphinance.com/mcp/server.py",
                    "endpoint": "https://ah.mphinance.com/api/mcp"
                  },
                  "toolCount": 16,
                  "tools": [
                    {
                      "name": "get_market_tape",
                      "description": "Retrieve real-time macro tape overview: whale cash reserves (dry powder), intraday net P&L, equity/ETF allocation split, and top capital inflow & retail brea...",
                      "inputSchema": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": false
                      }
                    }
                  ],
                  "resources": [
                    {
                      "uri": "aftermath://market-tape",
                      "name": "Live Market Tape & Liquidity",
                      "description": "Real-time snapshot of whale cash reserves, net daily profit, and asset allocation.",
                      "mimeType": "application/json"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/openapi.json": {
      "get": {
        "tags": [
          "MCP"
        ],
        "summary": "This OpenAPI document",
        "operationId": "get_api_openapi_json",
        "description": "The OpenAPI 3.1 specification, generated by `scripts/gen_openapi.py` from the built files.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Openapi"
                },
                "example": {
                  "openapi": "3.1.0",
                  "info": {},
                  "paths": {},
                  "components": {}
                }
              }
            }
          }
        }
      }
    },
    "/api/mcp": {
      "post": {
        "tags": [
          "MCP"
        ],
        "summary": "MCP JSON-RPC 2.0 (live)",
        "operationId": "post_api_mcp",
        "description": "Stateless Streamable-HTTP MCP endpoint. Send JSON-RPC 2.0 `tools/list` or `tools/call`. 16 tools: `get_market_tape`, `get_top_equities`, `get_etf_flows`, `get_whale_portfolio`, `get_ticker_intel`, `screen_whales`, `get_shadow_whales`, `get_social_feed`, `get_funnel_accounts`, `get_funnel_callouts`, `get_funnel_scorecard`, `get_market_session`, `get_live_quotes`, `get_leaderboard`, `get_security_chart`, `get_retail_sentiment`. Not a static file: this one runs the live server code.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonRpcRequest"
              },
              "examples": {
                "tools_list": {
                  "summary": "List all tools",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 1,
                    "method": "tools/list"
                  }
                },
                "tools_call": {
                  "summary": "Call get_market_tape",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 2,
                    "method": "tools/call",
                    "params": {
                      "name": "get_market_tape",
                      "arguments": {}
                    }
                  }
                },
                "initialize": {
                  "summary": "Initialize",
                  "value": {
                    "jsonrpc": "2.0",
                    "id": 0,
                    "method": "initialize",
                    "params": {
                      "protocolVersion": "2024-11-05",
                      "capabilities": {},
                      "clientInfo": {
                        "name": "curl",
                        "version": "1.0"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON-RPC response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonRpcResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Market": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "macro": {
            "type": "object",
            "properties": {
              "whaleDryPowderCash": {
                "type": "number"
              },
              "whaleNetGainToday": {
                "type": "number"
              },
              "whaleUnrealizedProfit": {
                "type": "number"
              },
              "totalWhaleAum": {
                "type": "number"
              },
              "trackedWhalesCount": {
                "type": "integer"
              },
              "allocation": {
                "type": "object",
                "properties": {
                  "equityValue": {
                    "type": "number"
                  },
                  "equityPercent": {
                    "type": "number"
                  },
                  "etfValue": {
                    "type": "number"
                  },
                  "etfPercent": {
                    "type": "number"
                  },
                  "optionsValue": {
                    "type": "number"
                  },
                  "optionsPercent": {
                    "type": "number"
                  },
                  "optionsWhalesCount": {
                    "type": "integer"
                  },
                  "optionsPositionsCount": {
                    "type": "integer"
                  }
                },
                "required": [
                  "equityValue",
                  "equityPercent",
                  "etfValue",
                  "etfPercent",
                  "optionsValue",
                  "optionsPercent",
                  "optionsWhalesCount",
                  "optionsPositionsCount"
                ]
              }
            },
            "required": [
              "whaleDryPowderCash",
              "whaleNetGainToday",
              "whaleUnrealizedProfit",
              "totalWhaleAum",
              "trackedWhalesCount",
              "allocation"
            ]
          },
          "capitalInflowLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "price": {
                  "type": "number"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "owners": {
                  "type": "integer"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "price",
                "totalValue",
                "whaleCapital",
                "owners",
                "isETF",
                "changePercent"
              ]
            }
          },
          "retailBreadthLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "owners",
                "totalValue",
                "whaleCapital",
                "price",
                "isETF",
                "changePercent"
              ]
            }
          },
          "convictionIntensityLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "convictionPerHolder": {
                  "type": "number"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "convictionPerHolder",
                "owners",
                "totalValue",
                "whaleCapital",
                "price",
                "isETF",
                "changePercent"
              ]
            }
          },
          "topTapeGainers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "price": {
                  "type": "number"
                },
                "changePercent": {
                  "type": "number"
                },
                "totalValue": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                }
              },
              "required": [
                "ticker",
                "name",
                "price",
                "changePercent",
                "totalValue",
                "isETF"
              ]
            }
          }
        },
        "required": [
          "version",
          "timestamp",
          "source",
          "macro",
          "capitalInflowLeaders",
          "retailBreadthLeaders",
          "convictionIntensityLeaders",
          "topTapeGainers"
        ],
        "description": "Inferred from the built file api/market.json."
      },
      "MarketSummary": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "macro": {
            "type": "object",
            "properties": {
              "whaleDryPowderCash": {
                "type": "number"
              },
              "whaleNetGainToday": {
                "type": "number"
              },
              "whaleUnrealizedProfit": {
                "type": "number"
              },
              "totalWhaleAum": {
                "type": "number"
              },
              "trackedWhalesCount": {
                "type": "integer"
              },
              "allocation": {
                "type": "object",
                "properties": {
                  "equityValue": {
                    "type": "number"
                  },
                  "equityPercent": {
                    "type": "number"
                  },
                  "etfValue": {
                    "type": "number"
                  },
                  "etfPercent": {
                    "type": "number"
                  },
                  "optionsValue": {
                    "type": "number"
                  },
                  "optionsPercent": {
                    "type": "number"
                  },
                  "optionsWhalesCount": {
                    "type": "integer"
                  },
                  "optionsPositionsCount": {
                    "type": "integer"
                  }
                },
                "required": [
                  "equityValue",
                  "equityPercent",
                  "etfValue",
                  "etfPercent",
                  "optionsValue",
                  "optionsPercent",
                  "optionsWhalesCount",
                  "optionsPositionsCount"
                ]
              }
            },
            "required": [
              "whaleDryPowderCash",
              "whaleNetGainToday",
              "whaleUnrealizedProfit",
              "totalWhaleAum",
              "trackedWhalesCount",
              "allocation"
            ]
          },
          "capitalInflowLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "price": {
                  "type": "number"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "owners": {
                  "type": "integer"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "price",
                "totalValue",
                "whaleCapital",
                "owners",
                "isETF",
                "changePercent"
              ]
            }
          },
          "retailBreadthLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "owners",
                "totalValue",
                "whaleCapital",
                "price",
                "isETF",
                "changePercent"
              ]
            }
          },
          "convictionIntensityLeaders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "convictionPerHolder": {
                  "type": "number"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "whaleCapital": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                },
                "changePercent": {
                  "type": "number"
                }
              },
              "required": [
                "ticker",
                "name",
                "convictionPerHolder",
                "owners",
                "totalValue",
                "whaleCapital",
                "price",
                "isETF",
                "changePercent"
              ]
            }
          },
          "topTapeGainers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "price": {
                  "type": "number"
                },
                "changePercent": {
                  "type": "number"
                },
                "totalValue": {
                  "type": "number"
                },
                "isETF": {
                  "type": "boolean"
                }
              },
              "required": [
                "ticker",
                "name",
                "price",
                "changePercent",
                "totalValue",
                "isETF"
              ]
            }
          }
        },
        "required": [
          "version",
          "timestamp",
          "source",
          "macro",
          "capitalInflowLeaders",
          "retailBreadthLeaders",
          "convictionIntensityLeaders",
          "topTapeGainers"
        ],
        "description": "Inferred from the built file api/market-summary.json."
      },
      "Sentiment": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "archive": {
            "type": "object",
            "properties": {
              "posts": {
                "type": "integer"
              },
              "oldest": {
                "type": "string"
              },
              "newest": {
                "type": "string"
              }
            },
            "required": [
              "posts",
              "oldest",
              "newest"
            ]
          },
          "method": {
            "type": "string"
          },
          "caveat": {
            "type": "string"
          },
          "windows": {
            "type": "object",
            "properties": {
              "24h": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "n_posts": {
                      "type": "integer"
                    },
                    "n_authors": {
                      "type": "integer"
                    },
                    "n_directional_votes": {
                      "type": "integer"
                    },
                    "n_voting_authors": {
                      "type": "integer"
                    },
                    "bull": {
                      "type": "integer"
                    },
                    "bear": {
                      "type": "integer"
                    },
                    "neutral_posts": {
                      "type": "integer"
                    },
                    "net_score": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "confidence": {
                      "type": "string"
                    },
                    "calls_opened": {
                      "type": "integer"
                    },
                    "puts_opened": {
                      "type": "integer"
                    },
                    "call_put_ratio": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "by_topic": {
                      "type": "object",
                      "properties": {
                        "contest": {
                          "type": "integer"
                        },
                        "gain": {
                          "type": "integer"
                        },
                        "yolo": {
                          "type": "integer"
                        },
                        "chart": {
                          "type": "integer"
                        },
                        "news": {
                          "type": "integer"
                        },
                        "discuss": {
                          "type": "integer"
                        }
                      }
                    },
                    "views": {
                      "type": "integer"
                    },
                    "comments": {
                      "type": "integer"
                    },
                    "flags": {
                      "type": "object",
                      "properties": {
                        "duplicate_text_posts": {
                          "type": "integer"
                        },
                        "low_follower_author_share": {
                          "type": "number"
                        },
                        "bio_telegram_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "funnel_list_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "duplicate_text_posts",
                        "low_follower_author_share",
                        "bio_telegram_authors",
                        "funnel_list_authors"
                      ]
                    },
                    "top_posts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "hash": {
                            "type": "string"
                          },
                          "author": {
                            "type": "string"
                          },
                          "followers": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "stance": {
                            "type": "string"
                          },
                          "topic": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ts": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "hash",
                          "author",
                          "followers",
                          "title",
                          "stance",
                          "topic",
                          "ts"
                        ]
                      }
                    }
                  },
                  "required": [
                    "n_posts",
                    "n_authors",
                    "n_directional_votes",
                    "n_voting_authors",
                    "bull",
                    "bear",
                    "neutral_posts",
                    "net_score",
                    "confidence",
                    "calls_opened",
                    "puts_opened",
                    "call_put_ratio",
                    "by_topic",
                    "views",
                    "comments",
                    "flags",
                    "top_posts"
                  ]
                }
              },
              "72h": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "n_posts": {
                      "type": "integer"
                    },
                    "n_authors": {
                      "type": "integer"
                    },
                    "n_directional_votes": {
                      "type": "integer"
                    },
                    "n_voting_authors": {
                      "type": "integer"
                    },
                    "bull": {
                      "type": "integer"
                    },
                    "bear": {
                      "type": "integer"
                    },
                    "neutral_posts": {
                      "type": "integer"
                    },
                    "net_score": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "confidence": {
                      "type": "string"
                    },
                    "calls_opened": {
                      "type": "integer"
                    },
                    "puts_opened": {
                      "type": "integer"
                    },
                    "call_put_ratio": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "by_topic": {
                      "type": "object",
                      "properties": {
                        "contest": {
                          "type": "integer"
                        },
                        "gain": {
                          "type": "integer"
                        },
                        "yolo": {
                          "type": "integer"
                        },
                        "chart": {
                          "type": "integer"
                        },
                        "news": {
                          "type": "integer"
                        },
                        "discuss": {
                          "type": "integer"
                        }
                      }
                    },
                    "views": {
                      "type": "integer"
                    },
                    "comments": {
                      "type": "integer"
                    },
                    "flags": {
                      "type": "object",
                      "properties": {
                        "duplicate_text_posts": {
                          "type": "integer"
                        },
                        "low_follower_author_share": {
                          "type": "number"
                        },
                        "bio_telegram_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "funnel_list_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "duplicate_text_posts",
                        "low_follower_author_share",
                        "bio_telegram_authors",
                        "funnel_list_authors"
                      ]
                    },
                    "top_posts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "hash": {
                            "type": "string"
                          },
                          "author": {
                            "type": "string"
                          },
                          "followers": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "stance": {
                            "type": "string"
                          },
                          "topic": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ts": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "hash",
                          "author",
                          "followers",
                          "title",
                          "stance",
                          "topic",
                          "ts"
                        ]
                      }
                    }
                  },
                  "required": [
                    "n_posts",
                    "n_authors",
                    "n_directional_votes",
                    "n_voting_authors",
                    "bull",
                    "bear",
                    "neutral_posts",
                    "net_score",
                    "confidence",
                    "calls_opened",
                    "puts_opened",
                    "call_put_ratio",
                    "by_topic",
                    "views",
                    "comments",
                    "flags",
                    "top_posts"
                  ]
                }
              },
              "7d": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "n_posts": {
                      "type": "integer"
                    },
                    "n_authors": {
                      "type": "integer"
                    },
                    "n_directional_votes": {
                      "type": "integer"
                    },
                    "n_voting_authors": {
                      "type": "integer"
                    },
                    "bull": {
                      "type": "integer"
                    },
                    "bear": {
                      "type": "integer"
                    },
                    "neutral_posts": {
                      "type": "integer"
                    },
                    "net_score": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "confidence": {
                      "type": "string"
                    },
                    "calls_opened": {
                      "type": "integer"
                    },
                    "puts_opened": {
                      "type": "integer"
                    },
                    "call_put_ratio": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "by_topic": {
                      "type": "object",
                      "properties": {
                        "contest": {
                          "type": "integer"
                        },
                        "gain": {
                          "type": "integer"
                        },
                        "yolo": {
                          "type": "integer"
                        },
                        "chart": {
                          "type": "integer"
                        },
                        "news": {
                          "type": "integer"
                        },
                        "discuss": {
                          "type": "integer"
                        }
                      }
                    },
                    "views": {
                      "type": "integer"
                    },
                    "comments": {
                      "type": "integer"
                    },
                    "flags": {
                      "type": "object",
                      "properties": {
                        "duplicate_text_posts": {
                          "type": "integer"
                        },
                        "low_follower_author_share": {
                          "type": "number"
                        },
                        "bio_telegram_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "funnel_list_authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "duplicate_text_posts",
                        "low_follower_author_share",
                        "bio_telegram_authors",
                        "funnel_list_authors"
                      ]
                    },
                    "top_posts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "hash": {
                            "type": "string"
                          },
                          "author": {
                            "type": "string"
                          },
                          "followers": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "stance": {
                            "type": "string"
                          },
                          "topic": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "ts": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "hash",
                          "author",
                          "followers",
                          "title",
                          "stance",
                          "topic",
                          "ts"
                        ]
                      }
                    }
                  },
                  "required": [
                    "n_posts",
                    "n_authors",
                    "n_directional_votes",
                    "n_voting_authors",
                    "bull",
                    "bear",
                    "neutral_posts",
                    "net_score",
                    "confidence",
                    "calls_opened",
                    "puts_opened",
                    "call_put_ratio",
                    "by_topic",
                    "views",
                    "comments",
                    "flags",
                    "top_posts"
                  ]
                }
              }
            },
            "required": [
              "24h",
              "72h",
              "7d"
            ]
          },
          "buzz": {
            "type": "object",
            "properties": {
              "24h": {
                "type": "object",
                "properties": {
                  "archive_depth_days": {
                    "type": "number"
                  },
                  "tickers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "mentions": {
                          "type": "integer"
                        },
                        "baseline_mean": {
                          "type": "number"
                        },
                        "z": {
                          "type": "null"
                        }
                      },
                      "required": [
                        "mentions",
                        "baseline_mean",
                        "z"
                      ]
                    }
                  }
                },
                "required": [
                  "archive_depth_days",
                  "tickers"
                ]
              },
              "72h": {
                "type": "object",
                "properties": {
                  "archive_depth_days": {
                    "type": "number"
                  },
                  "tickers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "mentions": {
                          "type": "integer"
                        },
                        "baseline_mean": {
                          "type": "number"
                        },
                        "z": {
                          "type": "null"
                        }
                      },
                      "required": [
                        "mentions",
                        "baseline_mean",
                        "z"
                      ]
                    }
                  }
                },
                "required": [
                  "archive_depth_days",
                  "tickers"
                ]
              }
            },
            "required": [
              "24h",
              "72h"
            ]
          },
          "daily": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string"
                  },
                  "posts": {
                    "type": "integer"
                  },
                  "bull": {
                    "type": "integer"
                  },
                  "bear": {
                    "type": "integer"
                  },
                  "net": {
                    "type": [
                      "null",
                      "number"
                    ]
                  }
                },
                "required": [
                  "date",
                  "posts",
                  "bull",
                  "bear",
                  "net"
                ]
              }
            }
          }
        },
        "required": [
          "generated_at",
          "source",
          "archive",
          "method",
          "caveat",
          "windows",
          "buzz",
          "daily"
        ],
        "description": "Inferred from the built file api/sentiment.json."
      },
      "AhPosts": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "posts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "hash": {
                  "type": "string"
                },
                "ts": {
                  "type": "string"
                },
                "author": {
                  "type": "string"
                },
                "followers": {
                  "type": "integer"
                },
                "privacy": {
                  "type": "string"
                },
                "bio_link": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "topic": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "tickers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "views": {
                  "type": "integer"
                },
                "comments": {
                  "type": "integer"
                },
                "likes": {
                  "type": "integer"
                },
                "has_positions": {
                  "type": "boolean"
                },
                "sig": {
                  "type": "string"
                },
                "side": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "action": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "stance": {
                  "type": "string"
                },
                "basis": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "hash",
                "ts",
                "author",
                "followers",
                "privacy",
                "bio_link",
                "title",
                "topic",
                "tickers",
                "views",
                "comments",
                "likes",
                "has_positions",
                "sig",
                "side",
                "action",
                "stance",
                "basis"
              ]
            }
          }
        },
        "required": [
          "generated_at",
          "posts"
        ],
        "description": "Inferred from the built file api/ah-posts.json."
      },
      "WhaleChanges": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "changes": {
            "type": "array",
            "items": {}
          }
        },
        "required": [
          "generated_at",
          "count",
          "changes"
        ],
        "description": "Inferred from the built file api/whale-changes.json."
      },
      "WhaleSync": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "whales_tracked": {
            "type": "integer"
          },
          "polled_last_hour": {
            "type": "integer"
          },
          "never_polled": {
            "type": "integer"
          },
          "newest_broker_sync": {
            "type": "string"
          },
          "oldest_broker_sync": {
            "type": "string"
          },
          "synced_within_30d": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "whales": {
            "type": "object",
            "properties": {
              "TrogdorStrikesAgain": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "SlowmoInvestor": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "Trescommas": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "SIRJACK": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "CptNut": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "OCmd": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "NOLA": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              },
              "dteich16": {
                "type": "object",
                "properties": {
                  "last_synced_at": {
                    "type": "string"
                  },
                  "polled_at": {
                    "type": "string"
                  },
                  "n_positions": {
                    "type": "integer"
                  },
                  "total_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "last_synced_at",
                  "polled_at",
                  "n_positions",
                  "total_value"
                ]
              }
            },
            "required": [
              "TrogdorStrikesAgain",
              "SlowmoInvestor",
              "Trescommas",
              "SIRJACK",
              "CptNut",
              "OCmd",
              "NOLA",
              "dteich16"
            ]
          }
        },
        "required": [
          "generated_at",
          "whales_tracked",
          "polled_last_hour",
          "never_polled",
          "newest_broker_sync",
          "oldest_broker_sync",
          "synced_within_30d",
          "note",
          "whales"
        ],
        "description": "Inferred from the built file api/whale-sync.json."
      },
      "Stonks": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "securities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "friendlyName": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "isETF": {
                  "type": "boolean"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "intensity": {
                  "type": "number"
                },
                "marketCap": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "changePercent": {
                  "type": "number"
                },
                "volume": {
                  "type": "integer"
                },
                "chatroomMembers": {
                  "type": "integer"
                },
                "chatroomOnline": {
                  "type": "integer"
                },
                "whalesCount": {
                  "type": "integer"
                },
                "whalesValue": {
                  "type": "number"
                },
                "topWhale": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "topWhaleValue": {
                  "type": "number"
                },
                "slug": {
                  "type": "string"
                },
                "hasHistory": {
                  "type": "boolean"
                },
                "rankWhaleCapital": {
                  "type": "integer"
                },
                "rankPlatformValue": {
                  "type": "integer"
                },
                "rankOwners": {
                  "type": "integer"
                },
                "rankGainers": {
                  "type": "integer"
                },
                "rankChat": {
                  "type": "integer"
                },
                "badges": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "label": {
                        "type": "string"
                      },
                      "color": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "label",
                      "color"
                    ]
                  }
                },
                "whyTop": {
                  "type": "string"
                },
                "rank": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "name",
                "friendlyName",
                "type",
                "isETF",
                "owners",
                "totalValue",
                "intensity",
                "marketCap",
                "price",
                "changePercent",
                "volume",
                "chatroomMembers",
                "chatroomOnline",
                "whalesCount",
                "whalesValue",
                "topWhale",
                "topWhaleValue",
                "slug",
                "hasHistory",
                "rankWhaleCapital",
                "rankPlatformValue",
                "rankOwners",
                "rankGainers",
                "rankChat",
                "badges",
                "whyTop",
                "rank"
              ]
            }
          }
        },
        "required": [
          "total",
          "securities"
        ],
        "description": "Inferred from the built file api/stonks.json."
      },
      "Etfs": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "securities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "friendlyName": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "isETF": {
                  "type": "boolean"
                },
                "owners": {
                  "type": "integer"
                },
                "totalValue": {
                  "type": "number"
                },
                "intensity": {
                  "type": "number"
                },
                "marketCap": {
                  "type": "number"
                },
                "price": {
                  "type": "number"
                },
                "changePercent": {
                  "type": "number"
                },
                "volume": {
                  "type": "integer"
                },
                "chatroomMembers": {
                  "type": "integer"
                },
                "chatroomOnline": {
                  "type": "integer"
                },
                "whalesCount": {
                  "type": "integer"
                },
                "whalesValue": {
                  "type": "number"
                },
                "topWhale": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "topWhaleValue": {
                  "type": "number"
                },
                "slug": {
                  "type": "string"
                },
                "hasHistory": {
                  "type": "boolean"
                },
                "rankWhaleCapital": {
                  "type": "integer"
                },
                "rankPlatformValue": {
                  "type": "integer"
                },
                "rankOwners": {
                  "type": "integer"
                },
                "rankGainers": {
                  "type": "integer"
                },
                "rankChat": {
                  "type": "integer"
                },
                "badges": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "label": {
                        "type": "string"
                      },
                      "color": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "label",
                      "color"
                    ]
                  }
                },
                "whyTop": {
                  "type": "string"
                },
                "rank": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "name",
                "friendlyName",
                "type",
                "isETF",
                "owners",
                "totalValue",
                "intensity",
                "marketCap",
                "price",
                "changePercent",
                "volume",
                "chatroomMembers",
                "chatroomOnline",
                "whalesCount",
                "whalesValue",
                "topWhale",
                "topWhaleValue",
                "slug",
                "hasHistory",
                "rankWhaleCapital",
                "rankPlatformValue",
                "rankOwners",
                "rankGainers",
                "rankChat",
                "badges",
                "whyTop",
                "rank"
              ]
            }
          }
        },
        "required": [
          "total",
          "securities"
        ],
        "description": "Inferred from the built file api/etfs.json."
      },
      "Ticker": {
        "type": "object",
        "properties": {
          "security": {
            "type": "object",
            "properties": {
              "ticker": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "friendlyName": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "isETF": {
                "type": "boolean"
              },
              "owners": {
                "type": "integer"
              },
              "totalValue": {
                "type": "number"
              },
              "intensity": {
                "type": "number"
              },
              "marketCap": {
                "type": "integer"
              },
              "price": {
                "type": "number"
              },
              "changePercent": {
                "type": "number"
              },
              "volume": {
                "type": "integer"
              },
              "chatroomMembers": {
                "type": "integer"
              },
              "chatroomOnline": {
                "type": "integer"
              },
              "whalesCount": {
                "type": "integer"
              },
              "whalesValue": {
                "type": "number"
              },
              "topWhale": {
                "type": "string"
              },
              "topWhaleValue": {
                "type": "number"
              },
              "slug": {
                "type": "string"
              },
              "hasHistory": {
                "type": "boolean"
              },
              "rankWhaleCapital": {
                "type": "integer"
              },
              "rankPlatformValue": {
                "type": "integer"
              },
              "rankOwners": {
                "type": "integer"
              },
              "rankGainers": {
                "type": "integer"
              },
              "rankChat": {
                "type": "integer"
              },
              "badges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "label",
                    "color"
                  ]
                }
              },
              "whyTop": {
                "type": "string"
              },
              "rank": {
                "type": "integer"
              }
            },
            "required": [
              "ticker",
              "name",
              "friendlyName",
              "type",
              "isETF",
              "owners",
              "totalValue",
              "intensity",
              "marketCap",
              "price",
              "changePercent",
              "volume",
              "chatroomMembers",
              "chatroomOnline",
              "whalesCount",
              "whalesValue",
              "topWhale",
              "topWhaleValue",
              "slug",
              "hasHistory",
              "rankWhaleCapital",
              "rankPlatformValue",
              "rankOwners",
              "rankGainers",
              "rankChat",
              "badges",
              "whyTop",
              "rank"
            ]
          },
          "whales": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string"
                },
                "followers": {
                  "type": "integer"
                },
                "shares": {
                  "type": "number"
                },
                "contracts": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "value": {
                  "type": "number"
                },
                "cost_basis": {
                  "type": "number"
                },
                "profit": {
                  "type": "number"
                },
                "is_option": {
                  "type": "boolean"
                },
                "option_type": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "strike": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "expiry": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "clean_symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "raw_ticker": {
                  "type": "string"
                },
                "root_ticker": {
                  "type": "string"
                }
              },
              "required": [
                "username",
                "followers",
                "shares",
                "contracts",
                "value",
                "cost_basis",
                "profit",
                "is_option",
                "option_type",
                "strike",
                "expiry",
                "clean_symbol",
                "name",
                "raw_ticker",
                "root_ticker"
              ]
            }
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "close": {
                  "type": "number"
                },
                "high": {
                  "type": "number"
                },
                "low": {
                  "type": "number"
                },
                "numberOfTrades": {
                  "type": "integer"
                },
                "open": {
                  "type": "number"
                },
                "symbol": {
                  "type": "string"
                },
                "timestamp": {
                  "type": "string"
                },
                "volume": {
                  "type": "integer"
                },
                "volumeWeightedAveragePrice": {
                  "type": "number"
                }
              },
              "required": [
                "close",
                "high",
                "low",
                "numberOfTrades",
                "open",
                "symbol",
                "timestamp",
                "volume",
                "volumeWeightedAveragePrice"
              ]
            }
          }
        },
        "required": [
          "security",
          "whales",
          "history"
        ],
        "description": "Inferred from the built file api/ticker/AAPL.json."
      },
      "Whales": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "whales": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string"
                },
                "profile_id": {
                  "type": "string"
                },
                "followers": {
                  "type": "integer"
                },
                "following": {
                  "type": "integer"
                },
                "total_likes": {
                  "type": "integer"
                },
                "total_value": {
                  "type": "number"
                },
                "cost_basis": {
                  "type": "number"
                },
                "profit": {
                  "type": "number"
                },
                "profit_percent": {
                  "type": "number"
                },
                "profit_today": {
                  "type": "number"
                },
                "cash_balance": {
                  "type": "number"
                },
                "verified_as_of": {
                  "type": "string"
                },
                "positions_count": {
                  "type": "integer"
                },
                "top_positions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "root_ticker": {
                        "type": "string"
                      },
                      "clean_symbol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "security_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "asset_type": {
                        "type": "string"
                      },
                      "is_option": {
                        "type": "boolean"
                      },
                      "option_type": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "strike": {
                        "type": [
                          "null",
                          "number"
                        ]
                      },
                      "expiry": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "contracts": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "shares_per_contract": {
                        "type": "integer"
                      },
                      "quantity": {
                        "type": "number"
                      },
                      "price": {
                        "type": "null"
                      },
                      "value": {
                        "type": "number"
                      },
                      "cost_basis": {
                        "type": "number"
                      },
                      "profit": {
                        "type": "number"
                      },
                      "profit_today": {
                        "type": "number"
                      },
                      "profit_percent": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "ticker",
                      "root_ticker",
                      "clean_symbol",
                      "name",
                      "security_id",
                      "type",
                      "asset_type",
                      "is_option",
                      "option_type",
                      "strike",
                      "expiry",
                      "contracts",
                      "shares_per_contract",
                      "quantity",
                      "price",
                      "value",
                      "cost_basis",
                      "profit",
                      "profit_today",
                      "profit_percent"
                    ]
                  }
                },
                "all_positions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "root_ticker": {
                        "type": "string"
                      },
                      "clean_symbol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "security_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "asset_type": {
                        "type": "string"
                      },
                      "is_option": {
                        "type": "boolean"
                      },
                      "option_type": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "strike": {
                        "type": [
                          "null",
                          "number"
                        ]
                      },
                      "expiry": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "contracts": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "shares_per_contract": {
                        "type": "integer"
                      },
                      "quantity": {
                        "type": "number"
                      },
                      "price": {
                        "type": "null"
                      },
                      "value": {
                        "type": "number"
                      },
                      "cost_basis": {
                        "type": "number"
                      },
                      "profit": {
                        "type": "number"
                      },
                      "profit_today": {
                        "type": "number"
                      },
                      "profit_percent": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "ticker",
                      "root_ticker",
                      "clean_symbol",
                      "name",
                      "security_id",
                      "type",
                      "asset_type",
                      "is_option",
                      "option_type",
                      "strike",
                      "expiry",
                      "contracts",
                      "shares_per_contract",
                      "quantity",
                      "price",
                      "value",
                      "cost_basis",
                      "profit",
                      "profit_today",
                      "profit_percent"
                    ]
                  }
                },
                "options_count": {
                  "type": "integer"
                },
                "options_value": {
                  "type": "number"
                },
                "equity_value": {
                  "type": "number"
                },
                "options_percent": {
                  "type": "number"
                },
                "shadow_ratio": {
                  "type": "number"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "username",
                "profile_id",
                "followers",
                "following",
                "total_likes",
                "total_value",
                "cost_basis",
                "profit",
                "profit_percent",
                "profit_today",
                "cash_balance",
                "verified_as_of",
                "positions_count",
                "top_positions",
                "all_positions",
                "options_count",
                "options_value",
                "equity_value",
                "options_percent",
                "shadow_ratio",
                "slug"
              ]
            }
          }
        },
        "required": [
          "total",
          "whales"
        ],
        "description": "Inferred from the built file api/whales.json."
      },
      "Shadow": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "whales": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string"
                },
                "profile_id": {
                  "type": "string"
                },
                "followers": {
                  "type": "integer"
                },
                "following": {
                  "type": "integer"
                },
                "total_likes": {
                  "type": "integer"
                },
                "total_value": {
                  "type": "number"
                },
                "cost_basis": {
                  "type": "number"
                },
                "profit": {
                  "type": "number"
                },
                "profit_percent": {
                  "type": "number"
                },
                "profit_today": {
                  "type": "number"
                },
                "cash_balance": {
                  "type": "number"
                },
                "verified_as_of": {
                  "type": "string"
                },
                "positions_count": {
                  "type": "integer"
                },
                "top_positions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "root_ticker": {
                        "type": "string"
                      },
                      "clean_symbol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "security_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "asset_type": {
                        "type": "string"
                      },
                      "is_option": {
                        "type": "boolean"
                      },
                      "option_type": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "strike": {
                        "type": [
                          "null",
                          "number"
                        ]
                      },
                      "expiry": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "contracts": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "shares_per_contract": {
                        "type": "integer"
                      },
                      "quantity": {
                        "type": "number"
                      },
                      "price": {
                        "type": "null"
                      },
                      "value": {
                        "type": "number"
                      },
                      "cost_basis": {
                        "type": "number"
                      },
                      "profit": {
                        "type": "number"
                      },
                      "profit_today": {
                        "type": "number"
                      },
                      "profit_percent": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "ticker",
                      "root_ticker",
                      "clean_symbol",
                      "name",
                      "security_id",
                      "type",
                      "asset_type",
                      "is_option",
                      "option_type",
                      "strike",
                      "expiry",
                      "contracts",
                      "shares_per_contract",
                      "quantity",
                      "price",
                      "value",
                      "cost_basis",
                      "profit",
                      "profit_today",
                      "profit_percent"
                    ]
                  }
                },
                "all_positions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "root_ticker": {
                        "type": "string"
                      },
                      "clean_symbol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "security_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "asset_type": {
                        "type": "string"
                      },
                      "is_option": {
                        "type": "boolean"
                      },
                      "option_type": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "strike": {
                        "type": [
                          "null",
                          "number"
                        ]
                      },
                      "expiry": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "contracts": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "shares_per_contract": {
                        "type": "integer"
                      },
                      "quantity": {
                        "type": "number"
                      },
                      "price": {
                        "type": "null"
                      },
                      "value": {
                        "type": "number"
                      },
                      "cost_basis": {
                        "type": "number"
                      },
                      "profit": {
                        "type": "number"
                      },
                      "profit_today": {
                        "type": "number"
                      },
                      "profit_percent": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "ticker",
                      "root_ticker",
                      "clean_symbol",
                      "name",
                      "security_id",
                      "type",
                      "asset_type",
                      "is_option",
                      "option_type",
                      "strike",
                      "expiry",
                      "contracts",
                      "shares_per_contract",
                      "quantity",
                      "price",
                      "value",
                      "cost_basis",
                      "profit",
                      "profit_today",
                      "profit_percent"
                    ]
                  }
                },
                "options_count": {
                  "type": "integer"
                },
                "options_value": {
                  "type": "number"
                },
                "equity_value": {
                  "type": "number"
                },
                "options_percent": {
                  "type": "number"
                },
                "shadow_ratio": {
                  "type": "number"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "username",
                "profile_id",
                "followers",
                "following",
                "total_likes",
                "total_value",
                "cost_basis",
                "profit",
                "profit_percent",
                "profit_today",
                "cash_balance",
                "verified_as_of",
                "positions_count",
                "top_positions",
                "all_positions",
                "options_count",
                "options_value",
                "equity_value",
                "options_percent",
                "shadow_ratio",
                "slug"
              ]
            }
          }
        },
        "required": [
          "total",
          "whales"
        ],
        "description": "Inferred from the built file api/shadow.json."
      },
      "Funnel": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "database": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "submit_intel": {
            "type": "string"
          },
          "upstream_json": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "tiers": {
            "type": "object",
            "properties": {
              "reported": {
                "type": "integer"
              },
              "corroborated": {
                "type": "integer"
              },
              "verified": {
                "type": "integer"
              }
            },
            "required": [
              "reported",
              "corroborated",
              "verified"
            ]
          },
          "shared_link_clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "link": {
                  "type": "string"
                },
                "accounts": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "link",
                "accounts"
              ]
            }
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "ah_accounts": {
                  "type": "integer"
                },
                "ah_posts": {
                  "type": "integer"
                },
                "tg_channels": {
                  "type": "integer"
                },
                "tg_posts": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "ah_accounts",
                "ah_posts",
                "tg_channels",
                "tg_posts"
              ]
            }
          },
          "callouts": {
            "type": "object",
            "properties": {
              "option_opens": {
                "type": "integer"
              },
              "option_closes": {
                "type": "integer"
              },
              "channels_covered": {
                "type": "integer"
              },
              "outcomes": {
                "type": "object",
                "properties": {
                  "n_scored": {
                    "type": "integer"
                  },
                  "window_start": {
                    "type": "string"
                  },
                  "window_end": {
                    "type": "string"
                  },
                  "win_rate": {
                    "type": "number"
                  },
                  "median_return": {
                    "type": "number"
                  },
                  "share_worth_zero": {
                    "type": "number"
                  },
                  "sample_warning": {
                    "type": "string"
                  }
                },
                "required": [
                  "n_scored",
                  "window_start",
                  "window_end",
                  "win_rate",
                  "median_return",
                  "share_worth_zero",
                  "sample_warning"
                ]
              },
              "paths": {
                "type": "object",
                "properties": {
                  "n_scored": {
                    "type": "integer"
                  },
                  "window_start": {
                    "type": "string"
                  },
                  "window_end": {
                    "type": "string"
                  },
                  "ended_green_rate": {
                    "type": "number"
                  },
                  "ended_green_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "median_peak_pct": {
                    "type": "number"
                  },
                  "median_drawdown_pct": {
                    "type": "number"
                  },
                  "tp_first_rate": {
                    "type": "number"
                  },
                  "sl_first_rate": {
                    "type": "number"
                  },
                  "tp_first_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "sl_first_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "ended_green_cluster_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "tp_first_cluster_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "sl_first_cluster_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "rule_mean_cluster_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "cluster_note": {
                    "type": "string"
                  },
                  "rule": {
                    "type": "string"
                  },
                  "rule_mean_return_pct": {
                    "type": "number"
                  },
                  "method": {
                    "type": "string"
                  }
                },
                "required": [
                  "n_scored",
                  "window_start",
                  "window_end",
                  "ended_green_rate",
                  "ended_green_ci",
                  "median_peak_pct",
                  "median_drawdown_pct",
                  "tp_first_rate",
                  "sl_first_rate",
                  "tp_first_ci",
                  "sl_first_ci",
                  "ended_green_cluster_ci",
                  "tp_first_cluster_ci",
                  "sl_first_cluster_ci",
                  "rule_mean_cluster_ci",
                  "cluster_note",
                  "rule",
                  "rule_mean_return_pct",
                  "method"
                ]
              }
            },
            "required": [
              "option_opens",
              "option_closes",
              "channels_covered",
              "outcomes",
              "paths"
            ]
          },
          "accounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "listing_id": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "tier": {
                  "type": "string"
                },
                "telegram_link": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "telegram_links": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "channel_title": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "channel_members": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "channel_alive": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "public_posts_seen": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "channels": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "link": {
                        "type": "string"
                      },
                      "channel_title": {
                        "type": "string"
                      },
                      "channel_members": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "channel_alive": {
                        "type": "boolean"
                      },
                      "public_posts_seen": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "link",
                      "channel_title",
                      "channel_members",
                      "channel_alive",
                      "public_posts_seen"
                    ]
                  }
                },
                "cluster_key": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "bio": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "created_at": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "num_followers": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "post_count": {
                  "type": "integer"
                },
                "posts_mentioning_telegram": {
                  "type": "integer"
                },
                "max_duplicate_post": {
                  "type": "integer"
                },
                "top_tickers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "tickers_pushed": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "risk_score": {
                  "type": "integer"
                },
                "risk_factors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "age_days": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "afterhour_url": {
                  "type": "string"
                },
                "listing_url": {
                  "type": "string"
                }
              },
              "required": [
                "listing_id",
                "username",
                "tier",
                "telegram_link",
                "telegram_links",
                "channel_title",
                "channel_members",
                "channel_alive",
                "public_posts_seen",
                "channels",
                "cluster_key",
                "bio",
                "created_at",
                "num_followers",
                "post_count",
                "posts_mentioning_telegram",
                "max_duplicate_post",
                "top_tickers",
                "tickers_pushed",
                "risk_score",
                "risk_factors",
                "age_days",
                "afterhour_url",
                "listing_url"
              ]
            }
          }
        },
        "required": [
          "source",
          "credit",
          "database",
          "network",
          "submit_intel",
          "upstream_json",
          "disclaimer",
          "count",
          "tiers",
          "shared_link_clusters",
          "tickers",
          "callouts",
          "accounts"
        ],
        "description": "Inferred from the built file api/funnel.json."
      },
      "FunnelTickers": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "small_sample_warning": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "tickers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "ah_accounts": {
                  "type": "integer"
                },
                "ah_posts": {
                  "type": "integer"
                },
                "tg_channels": {
                  "type": "integer"
                },
                "tg_posts": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "ah_accounts",
                "ah_posts",
                "tg_channels",
                "tg_posts"
              ]
            }
          }
        },
        "required": [
          "source",
          "generated_at",
          "credit",
          "disclaimer",
          "small_sample_warning",
          "count",
          "tickers"
        ],
        "description": "Inferred from the built file api/funnel-tickers.json."
      },
      "FunnelCalls": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "small_sample_warning": {
            "type": "string"
          },
          "quoted_results_are_channel_claims": {
            "type": "string"
          },
          "total_parsed": {
            "type": "integer"
          },
          "count": {
            "type": "integer"
          },
          "calls_with_scored_outcome": {
            "type": "integer"
          },
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "channel": {
                  "type": "string"
                },
                "posted": {
                  "type": "string"
                },
                "ticker": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "side": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "strike": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "expiry": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "entry_price": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "action": {
                  "type": "string"
                },
                "result_pct": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "text": {
                  "type": "string"
                },
                "outcome": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "reason": {
                      "type": "string"
                    },
                    "expiry_effective": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "expiry_note": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "price_source": {
                      "type": "string"
                    },
                    "underlying_close_at_expiry": {
                      "type": "number"
                    },
                    "intrinsic": {
                      "type": "number"
                    },
                    "worthless": {
                      "type": "boolean"
                    },
                    "breakeven_level": {
                      "type": "number"
                    },
                    "pnl_per_contract": {
                      "type": "number"
                    },
                    "return_multiple": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "return_pct": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "win": {
                      "type": "boolean"
                    },
                    "touched_breakeven_optimistic": {
                      "type": "boolean"
                    },
                    "touch_window": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "expiry_effective",
                    "expiry_note"
                  ]
                },
                "parse_flags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "channel",
                "posted",
                "ticker",
                "kind",
                "side",
                "strike",
                "expiry",
                "entry_price",
                "action",
                "result_pct",
                "text"
              ]
            }
          }
        },
        "required": [
          "source",
          "generated_at",
          "credit",
          "disclaimer",
          "small_sample_warning",
          "quoted_results_are_channel_claims",
          "total_parsed",
          "count",
          "calls_with_scored_outcome",
          "calls"
        ],
        "description": "Inferred from the built file api/funnel-calls.json."
      },
      "FunnelCallsFull": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "quoted_results_are_channel_claims": {
            "type": "string"
          },
          "path_note": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "scored_count": {
            "type": "integer"
          },
          "path_count": {
            "type": "integer"
          },
          "window_start": {
            "type": "string"
          },
          "window_end": {
            "type": "string"
          },
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "channel": {
                  "type": "string"
                },
                "posted": {
                  "type": "string"
                },
                "ticker": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "side": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "strike": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "expiry": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "entry_price": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "exit_price": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "action": {
                  "type": "string"
                },
                "result_pct": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "open_id": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "echo": {
                  "type": "boolean"
                },
                "parse_flags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "text": {
                  "type": "string"
                },
                "outcome": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "reason": {
                      "type": "string"
                    },
                    "expiry_effective": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "expiry_note": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "price_source": {
                      "type": "string"
                    },
                    "underlying_close_at_expiry": {
                      "type": "number"
                    },
                    "intrinsic": {
                      "type": "number"
                    },
                    "worthless": {
                      "type": "boolean"
                    },
                    "breakeven_level": {
                      "type": "number"
                    },
                    "pnl_per_contract": {
                      "type": "number"
                    },
                    "return_multiple": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "return_pct": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "win": {
                      "type": "boolean"
                    },
                    "touched_breakeven_optimistic": {
                      "type": "boolean"
                    },
                    "touch_window": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "expiry_effective",
                    "expiry_note"
                  ]
                },
                "path": {
                  "type": "object",
                  "properties": {
                    "category": {
                      "type": "string"
                    },
                    "fill": {
                      "type": "number"
                    },
                    "mfe_pct": {
                      "type": "number"
                    },
                    "mae_pct": {
                      "type": "number"
                    },
                    "end_ret_pct": {
                      "type": "number"
                    },
                    "volume": {
                      "type": "integer"
                    },
                    "tp50_sl50": {
                      "type": "string"
                    },
                    "tp50_sl50_ret": {
                      "type": "number"
                    },
                    "quoted_vs_fill_pct": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "category",
                    "fill",
                    "mfe_pct",
                    "mae_pct",
                    "end_ret_pct",
                    "volume",
                    "tp50_sl50",
                    "tp50_sl50_ret"
                  ]
                }
              },
              "required": [
                "id",
                "channel",
                "posted",
                "ticker",
                "kind",
                "side",
                "strike",
                "expiry",
                "entry_price",
                "exit_price",
                "action",
                "result_pct",
                "open_id",
                "echo",
                "parse_flags",
                "text"
              ]
            }
          }
        },
        "required": [
          "generated_at",
          "credit",
          "disclaimer",
          "quoted_results_are_channel_claims",
          "path_note",
          "note",
          "count",
          "scored_count",
          "path_count",
          "window_start",
          "window_end",
          "calls"
        ],
        "description": "Inferred from the built file api/funnel-calls-full.json."
      },
      "FunnelOptionPaths": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "methodology": {
            "type": "object",
            "properties": {
              "windows": {
                "type": "object",
                "properties": {
                  "intraday": {
                    "type": "string"
                  },
                  "daily": {
                    "type": "string"
                  }
                },
                "required": [
                  "intraday",
                  "daily"
                ]
              },
              "fill_rule": {
                "type": "string"
              },
              "rules": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "string"
                  },
                  "definition": {
                    "type": "string"
                  }
                },
                "required": [
                  "list",
                  "definition"
                ]
              },
              "ended_green_definition": {
                "type": "string"
              },
              "assumptions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "limitations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "windows",
              "fill_rule",
              "rules",
              "ended_green_definition",
              "assumptions",
              "limitations"
            ]
          },
          "window_start": {
            "type": "string"
          },
          "window_end": {
            "type": "string"
          },
          "small_n_threshold": {
            "type": "integer"
          },
          "coverage": {
            "type": "object",
            "properties": {
              "stages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "stage": {
                      "type": "string"
                    },
                    "n": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "stage",
                    "n"
                  ]
                }
              },
              "unscorable_by_reason": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "reason": {
                      "type": "string"
                    },
                    "n": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "reason",
                    "n"
                  ]
                }
              },
              "no_bars_by_category": {
                "type": "object",
                "properties": {
                  "unknown": {
                    "type": "integer"
                  },
                  "intraday": {
                    "type": "integer"
                  },
                  "daily": {
                    "type": "integer"
                  }
                },
                "required": [
                  "unknown",
                  "intraday",
                  "daily"
                ]
              },
              "status_counts": {
                "type": "object",
                "properties": {
                  "scored": {
                    "type": "integer"
                  },
                  "unscorable": {
                    "type": "integer"
                  },
                  "no_bars": {
                    "type": "integer"
                  },
                  "day_view": {
                    "type": "integer"
                  }
                },
                "required": [
                  "scored",
                  "unscorable",
                  "no_bars",
                  "day_view"
                ]
              },
              "no_bars_unknown_note": {
                "type": "string"
              }
            },
            "required": [
              "stages",
              "unscorable_by_reason",
              "no_bars_by_category",
              "status_counts",
              "no_bars_unknown_note"
            ]
          },
          "pooled": {
            "type": "object",
            "properties": {
              "intraday": {
                "type": "object",
                "properties": {
                  "n": {
                    "type": "integer"
                  },
                  "ended_green": {
                    "type": "object",
                    "properties": {
                      "k": {
                        "type": "integer"
                      },
                      "n": {
                        "type": "integer"
                      },
                      "rate": {
                        "type": "number"
                      },
                      "ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    },
                    "required": [
                      "k",
                      "n",
                      "rate",
                      "ci"
                    ]
                  },
                  "peak_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "drawdown_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "end_return_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "rules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "rule": {
                          "type": "string"
                        },
                        "take_profit_pct": {
                          "type": "integer"
                        },
                        "stop_loss_pct": {
                          "type": "integer"
                        },
                        "n": {
                          "type": "integer"
                        },
                        "tp_first": {
                          "type": "integer"
                        },
                        "sl_first": {
                          "type": "integer"
                        },
                        "neither": {
                          "type": "integer"
                        },
                        "tp_first_rate": {
                          "type": "number"
                        },
                        "tp_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "sl_first_rate": {
                          "type": "number"
                        },
                        "sl_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "neither_rate": {
                          "type": "number"
                        },
                        "mean_return_pct": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "rule",
                        "take_profit_pct",
                        "stop_loss_pct",
                        "n",
                        "tp_first",
                        "sl_first",
                        "neither",
                        "tp_first_rate",
                        "tp_first_ci",
                        "sl_first_rate",
                        "sl_first_ci",
                        "neither_rate",
                        "mean_return_pct"
                      ]
                    }
                  },
                  "headline_rule": {
                    "type": "object",
                    "properties": {
                      "rule": {
                        "type": "string"
                      },
                      "tp_first": {
                        "type": "integer"
                      },
                      "sl_first": {
                        "type": "integer"
                      },
                      "neither": {
                        "type": "integer"
                      },
                      "tp_first_rate": {
                        "type": "number"
                      },
                      "sl_first_rate": {
                        "type": "number"
                      },
                      "tp_first_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "sl_first_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "mean_return_pct": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "rule",
                      "tp_first",
                      "sl_first",
                      "neither",
                      "tp_first_rate",
                      "sl_first_rate",
                      "tp_first_ci",
                      "sl_first_ci",
                      "mean_return_pct"
                    ]
                  },
                  "liquidity": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "median_window_volume": {
                        "type": "number"
                      },
                      "thin_under_20_contracts": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      }
                    },
                    "required": [
                      "n",
                      "median_window_volume",
                      "thin_under_20_contracts"
                    ]
                  },
                  "quoted_entry_realism": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "median_quoted_vs_fill_pct": {
                        "type": "number"
                      },
                      "within_25pct": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      },
                      "unfillable_quote_more_than_25pct_below_fill": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      },
                      "quoted_more_than_25pct_above_fill": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      }
                    },
                    "required": [
                      "n",
                      "median_quoted_vs_fill_pct",
                      "within_25pct",
                      "unfillable_quote_more_than_25pct_below_fill",
                      "quoted_more_than_25pct_above_fill"
                    ]
                  }
                },
                "required": [
                  "n",
                  "ended_green",
                  "peak_pct",
                  "drawdown_pct",
                  "end_return_pct",
                  "rules",
                  "headline_rule",
                  "liquidity",
                  "quoted_entry_realism"
                ]
              },
              "daily": {
                "type": "object",
                "properties": {
                  "n": {
                    "type": "integer"
                  },
                  "ended_green": {
                    "type": "object",
                    "properties": {
                      "k": {
                        "type": "integer"
                      },
                      "n": {
                        "type": "integer"
                      },
                      "rate": {
                        "type": "number"
                      },
                      "ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    },
                    "required": [
                      "k",
                      "n",
                      "rate",
                      "ci"
                    ]
                  },
                  "peak_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "drawdown_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "end_return_pct": {
                    "type": "object",
                    "properties": {
                      "median": {
                        "type": "number"
                      },
                      "mean": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "median",
                      "mean"
                    ]
                  },
                  "rules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "rule": {
                          "type": "string"
                        },
                        "take_profit_pct": {
                          "type": "integer"
                        },
                        "stop_loss_pct": {
                          "type": "integer"
                        },
                        "n": {
                          "type": "integer"
                        },
                        "tp_first": {
                          "type": "integer"
                        },
                        "sl_first": {
                          "type": "integer"
                        },
                        "neither": {
                          "type": "integer"
                        },
                        "tp_first_rate": {
                          "type": "number"
                        },
                        "tp_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "sl_first_rate": {
                          "type": "number"
                        },
                        "sl_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "neither_rate": {
                          "type": "number"
                        },
                        "mean_return_pct": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "rule",
                        "take_profit_pct",
                        "stop_loss_pct",
                        "n",
                        "tp_first",
                        "sl_first",
                        "neither",
                        "tp_first_rate",
                        "tp_first_ci",
                        "sl_first_rate",
                        "sl_first_ci",
                        "neither_rate",
                        "mean_return_pct"
                      ]
                    }
                  },
                  "headline_rule": {
                    "type": "object",
                    "properties": {
                      "rule": {
                        "type": "string"
                      },
                      "tp_first": {
                        "type": "integer"
                      },
                      "sl_first": {
                        "type": "integer"
                      },
                      "neither": {
                        "type": "integer"
                      },
                      "tp_first_rate": {
                        "type": "number"
                      },
                      "sl_first_rate": {
                        "type": "number"
                      },
                      "tp_first_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "sl_first_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "mean_return_pct": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "rule",
                      "tp_first",
                      "sl_first",
                      "neither",
                      "tp_first_rate",
                      "sl_first_rate",
                      "tp_first_ci",
                      "sl_first_ci",
                      "mean_return_pct"
                    ]
                  },
                  "liquidity": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "median_window_volume": {
                        "type": "integer"
                      },
                      "thin_under_20_contracts": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      }
                    },
                    "required": [
                      "n",
                      "median_window_volume",
                      "thin_under_20_contracts"
                    ]
                  },
                  "quoted_entry_realism": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "median_quoted_vs_fill_pct": {
                        "type": "number"
                      },
                      "within_25pct": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      },
                      "unfillable_quote_more_than_25pct_below_fill": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      },
                      "quoted_more_than_25pct_above_fill": {
                        "type": "object",
                        "properties": {
                          "k": {
                            "type": "integer"
                          },
                          "n": {
                            "type": "integer"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "ci": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": [
                          "k",
                          "n",
                          "rate",
                          "ci"
                        ]
                      }
                    },
                    "required": [
                      "n",
                      "median_quoted_vs_fill_pct",
                      "within_25pct",
                      "unfillable_quote_more_than_25pct_below_fill",
                      "quoted_more_than_25pct_above_fill"
                    ]
                  }
                },
                "required": [
                  "n",
                  "ended_green",
                  "peak_pct",
                  "drawdown_pct",
                  "end_return_pct",
                  "rules",
                  "headline_rule",
                  "liquidity",
                  "quoted_entry_realism"
                ]
              }
            },
            "required": [
              "intraday",
              "daily"
            ]
          },
          "delay_sensitivity": {
            "type": "object",
            "properties": {
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "delay_bars": {
                      "type": "integer"
                    },
                    "delay_minutes": {
                      "type": "integer"
                    },
                    "n": {
                      "type": "integer"
                    },
                    "green_rate": {
                      "type": "number"
                    },
                    "green_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "mean_end_return_pct": {
                      "type": "number"
                    },
                    "tp_first_rate": {
                      "type": "number"
                    },
                    "sl_first_rate": {
                      "type": "number"
                    },
                    "rule_mean_return_pct": {
                      "type": "number"
                    },
                    "shortened_window": {
                      "type": "object",
                      "properties": {
                        "n": {
                          "type": "integer"
                        },
                        "tp_first_rate": {
                          "type": "number"
                        },
                        "sl_first_rate": {
                          "type": "number"
                        },
                        "rule_mean_return_pct": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "n",
                        "tp_first_rate",
                        "sl_first_rate",
                        "rule_mean_return_pct"
                      ]
                    }
                  },
                  "required": [
                    "delay_bars",
                    "delay_minutes",
                    "n",
                    "green_rate",
                    "green_ci",
                    "mean_end_return_pct",
                    "tp_first_rate",
                    "sl_first_rate",
                    "rule_mean_return_pct",
                    "shortened_window"
                  ]
                }
              },
              "note": {
                "type": "string"
              },
              "rule": {
                "type": "string"
              },
              "reused_from_previous": {
                "type": "boolean"
              },
              "n_pooled_headline": {
                "type": "integer"
              },
              "n_dropped_for_like_for_like": {
                "type": "integer"
              },
              "like_for_like": {
                "type": "boolean"
              }
            },
            "required": [
              "rows",
              "note",
              "rule",
              "reused_from_previous",
              "n_pooled_headline",
              "n_dropped_for_like_for_like",
              "like_for_like"
            ]
          },
          "fill_gap": {
            "type": "object",
            "properties": {
              "n": {
                "type": "integer"
              },
              "median_s": {
                "type": "integer"
              },
              "p90_s": {
                "type": "integer"
              },
              "over_300s": {
                "type": "object",
                "properties": {
                  "k": {
                    "type": "integer"
                  },
                  "n": {
                    "type": "integer"
                  },
                  "rate": {
                    "type": "number"
                  },
                  "ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "k",
                  "n",
                  "rate",
                  "ci"
                ]
              },
              "over_600s": {
                "type": "object",
                "properties": {
                  "k": {
                    "type": "integer"
                  },
                  "n": {
                    "type": "integer"
                  },
                  "rate": {
                    "type": "number"
                  },
                  "ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "k",
                  "n",
                  "rate",
                  "ci"
                ]
              }
            },
            "required": [
              "n",
              "median_s",
              "p90_s",
              "over_300s",
              "over_600s"
            ]
          },
          "robustness": {
            "type": "object",
            "properties": {
              "n": {
                "type": "integer"
              },
              "distinct_days": {
                "type": "integer"
              },
              "max_calls_in_one_day": {
                "type": "integer"
              },
              "top_ticker": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string"
                  },
                  "n": {
                    "type": "integer"
                  }
                },
                "required": [
                  "ticker",
                  "n"
                ]
              },
              "extra_rows_same_contract_same_day": {
                "type": "integer"
              },
              "extra_rows_same_contract_same_minute": {
                "type": "integer"
              },
              "cluster_by_day_95_range": {
                "type": "object",
                "properties": {
                  "ended_green": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "tp_first": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "sl_first": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "rule_mean_return_pct": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "ended_green",
                  "tp_first",
                  "sl_first",
                  "rule_mean_return_pct"
                ]
              },
              "without_same_minute_duplicates": {
                "type": "object",
                "properties": {
                  "n": {
                    "type": "integer"
                  },
                  "ended_green": {
                    "type": "object",
                    "properties": {
                      "k": {
                        "type": "integer"
                      },
                      "n": {
                        "type": "integer"
                      },
                      "rate": {
                        "type": "number"
                      },
                      "ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    },
                    "required": [
                      "k",
                      "n",
                      "rate",
                      "ci"
                    ]
                  },
                  "tp_first_rate": {
                    "type": "number"
                  },
                  "sl_first_rate": {
                    "type": "number"
                  },
                  "rule_mean_return_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "n",
                  "ended_green",
                  "tp_first_rate",
                  "sl_first_rate",
                  "rule_mean_return_pct"
                ]
              },
              "selection": {
                "type": "object",
                "properties": {
                  "scored_rows": {
                    "type": "integer"
                  },
                  "truncated_window_rows": {
                    "type": "integer"
                  },
                  "two_or_fewer_bars": {
                    "type": "integer"
                  },
                  "neither_level_hit_valued_at_last_print": {
                    "type": "integer"
                  }
                },
                "required": [
                  "scored_rows",
                  "truncated_window_rows",
                  "two_or_fewer_bars",
                  "neither_level_hit_valued_at_last_print"
                ]
              },
              "vendor_crosscheck": {
                "type": "object",
                "properties": {
                  "contract_days_compared": {
                    "type": "integer"
                  },
                  "close_within_1_cent": {
                    "type": "integer"
                  },
                  "low_agrees": {
                    "type": "integer"
                  },
                  "high_agrees": {
                    "type": "integer"
                  },
                  "vendor_high_above_reference": {
                    "type": "integer"
                  },
                  "vendor_high_above_by_more_than_10pct": {
                    "type": "integer"
                  },
                  "vendor_high_below_reference": {
                    "type": "integer"
                  },
                  "note": {
                    "type": "string"
                  }
                },
                "required": [
                  "contract_days_compared",
                  "close_within_1_cent",
                  "low_agrees",
                  "high_agrees",
                  "vendor_high_above_reference",
                  "vendor_high_above_by_more_than_10pct",
                  "vendor_high_below_reference",
                  "note"
                ]
              }
            },
            "required": [
              "n",
              "distinct_days",
              "max_calls_in_one_day",
              "top_ticker",
              "extra_rows_same_contract_same_day",
              "extra_rows_same_contract_same_minute",
              "cluster_by_day_95_range",
              "without_same_minute_duplicates",
              "selection",
              "vendor_crosscheck"
            ]
          },
          "by_channel": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "channel": {
                  "type": "string"
                },
                "n": {
                  "type": "integer"
                },
                "small": {
                  "type": "boolean"
                },
                "green_rate": {
                  "type": "number"
                },
                "green_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "median_peak_pct": {
                  "type": "number"
                },
                "median_drawdown_pct": {
                  "type": "number"
                },
                "median_end_return_pct": {
                  "type": "number"
                },
                "mean_end_return_pct": {
                  "type": "number"
                },
                "tp_first_rate": {
                  "type": "number"
                },
                "tp_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "sl_first_rate": {
                  "type": "number"
                },
                "sl_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "rule_mean_return_pct": {
                  "type": "number"
                },
                "median_window_volume": {
                  "type": "number"
                },
                "unfillable_quote_rate": {
                  "type": "number"
                },
                "unfillable_quote_n": {
                  "type": "integer"
                },
                "n_daily": {
                  "type": "integer"
                }
              },
              "required": [
                "channel",
                "n",
                "small",
                "green_rate",
                "green_ci",
                "median_peak_pct",
                "median_drawdown_pct",
                "median_end_return_pct",
                "mean_end_return_pct",
                "tp_first_rate",
                "tp_first_ci",
                "sl_first_rate",
                "sl_first_ci",
                "rule_mean_return_pct",
                "median_window_volume",
                "unfillable_quote_rate",
                "unfillable_quote_n",
                "n_daily"
              ]
            }
          },
          "by_ticker": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "n": {
                  "type": "integer"
                },
                "small": {
                  "type": "boolean"
                },
                "green_rate": {
                  "type": "number"
                },
                "green_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "median_peak_pct": {
                  "type": "number"
                },
                "median_drawdown_pct": {
                  "type": "number"
                },
                "median_end_return_pct": {
                  "type": "number"
                },
                "mean_end_return_pct": {
                  "type": "number"
                },
                "tp_first_rate": {
                  "type": "number"
                },
                "tp_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "sl_first_rate": {
                  "type": "number"
                },
                "sl_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "rule_mean_return_pct": {
                  "type": "number"
                },
                "median_window_volume": {
                  "type": "number"
                },
                "unfillable_quote_rate": {
                  "type": "number"
                },
                "unfillable_quote_n": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "n",
                "small",
                "green_rate",
                "green_ci",
                "median_peak_pct",
                "median_drawdown_pct",
                "median_end_return_pct",
                "mean_end_return_pct",
                "tp_first_rate",
                "tp_first_ci",
                "sl_first_rate",
                "sl_first_ci",
                "rule_mean_return_pct",
                "median_window_volume",
                "unfillable_quote_rate",
                "unfillable_quote_n"
              ]
            }
          },
          "by_session_hour": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "string"
                },
                "n": {
                  "type": "integer"
                },
                "small": {
                  "type": "boolean"
                },
                "green_rate": {
                  "type": "number"
                },
                "green_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "median_peak_pct": {
                  "type": "number"
                },
                "median_drawdown_pct": {
                  "type": "number"
                },
                "median_end_return_pct": {
                  "type": "number"
                },
                "mean_end_return_pct": {
                  "type": "number"
                },
                "tp_first_rate": {
                  "type": "number"
                },
                "tp_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "sl_first_rate": {
                  "type": "number"
                },
                "sl_first_ci": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "rule_mean_return_pct": {
                  "type": "number"
                },
                "median_window_volume": {
                  "type": "number"
                },
                "unfillable_quote_rate": {
                  "type": "number"
                },
                "unfillable_quote_n": {
                  "type": "integer"
                },
                "hour_et": {
                  "type": "integer"
                }
              },
              "required": [
                "hour",
                "n",
                "small",
                "green_rate",
                "green_ci",
                "median_peak_pct",
                "median_drawdown_pct",
                "median_end_return_pct",
                "mean_end_return_pct",
                "tp_first_rate",
                "tp_first_ci",
                "sl_first_rate",
                "sl_first_ci",
                "rule_mean_return_pct",
                "median_window_volume",
                "unfillable_quote_rate",
                "unfillable_quote_n",
                "hour_et"
              ]
            }
          },
          "n_channels": {
            "type": "integer"
          }
        },
        "required": [
          "generated_at",
          "credit",
          "disclaimer",
          "methodology",
          "window_start",
          "window_end",
          "small_n_threshold",
          "coverage",
          "pooled",
          "delay_sensitivity",
          "fill_gap",
          "robustness",
          "by_channel",
          "by_ticker",
          "by_session_hour",
          "n_channels"
        ],
        "description": "Inferred from the built file api/funnel-option-paths.json."
      },
      "FunnelScorecard": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "methodology": {
            "type": "string"
          },
          "methodology_doc": {
            "type": "string"
          },
          "conventions": {
            "type": "string"
          },
          "small_sample_rule": {
            "type": "string"
          },
          "options": {
            "type": "object",
            "properties": {
              "available": {
                "type": "boolean"
              },
              "pooled": {
                "type": "object",
                "properties": {
                  "n_scored": {
                    "type": "integer"
                  },
                  "win_rate": {
                    "type": "number"
                  },
                  "win_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "median_return": {
                    "type": "number"
                  },
                  "mean_return": {
                    "type": "number"
                  },
                  "worthless_share": {
                    "type": "number"
                  },
                  "worthless_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "touched_breakeven_optimistic_share": {
                    "type": "number"
                  },
                  "max_return": {
                    "type": "number"
                  },
                  "mean_return_excl_top5": {
                    "type": "number"
                  },
                  "n_distinct_contracts": {
                    "type": "integer"
                  },
                  "n_contract_days": {
                    "type": "integer"
                  },
                  "contract_days": {
                    "type": "object",
                    "properties": {
                      "win_rate": {
                        "type": "number"
                      },
                      "win_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "median_return": {
                        "type": "number"
                      },
                      "mean_return": {
                        "type": "number"
                      },
                      "worthless_share": {
                        "type": "number"
                      },
                      "worthless_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "touched_breakeven_optimistic_share": {
                        "type": "number"
                      },
                      "max_return": {
                        "type": "number"
                      },
                      "mean_return_excl_top5": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "win_rate",
                      "win_ci",
                      "median_return",
                      "mean_return",
                      "worthless_share",
                      "worthless_ci",
                      "touched_breakeven_optimistic_share",
                      "max_return",
                      "mean_return_excl_top5"
                    ]
                  },
                  "distinct_contracts": {
                    "type": "object",
                    "properties": {
                      "win_rate": {
                        "type": "number"
                      },
                      "win_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "median_return": {
                        "type": "number"
                      },
                      "mean_return": {
                        "type": "number"
                      },
                      "worthless_share": {
                        "type": "number"
                      },
                      "worthless_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "touched_breakeven_optimistic_share": {
                        "type": "number"
                      },
                      "max_return": {
                        "type": "number"
                      },
                      "mean_return_excl_top5": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "win_rate",
                      "win_ci",
                      "median_return",
                      "mean_return",
                      "worthless_share",
                      "worthless_ci",
                      "touched_breakeven_optimistic_share",
                      "max_return",
                      "mean_return_excl_top5"
                    ]
                  },
                  "window_start": {
                    "type": "string"
                  },
                  "window_end": {
                    "type": "string"
                  },
                  "return_unit": {
                    "type": "string"
                  },
                  "win_definition": {
                    "type": "string"
                  },
                  "hold_to_expiry_assumptions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "n_scored",
                  "win_rate",
                  "win_ci",
                  "median_return",
                  "mean_return",
                  "worthless_share",
                  "worthless_ci",
                  "touched_breakeven_optimistic_share",
                  "max_return",
                  "mean_return_excl_top5",
                  "n_distinct_contracts",
                  "n_contract_days",
                  "contract_days",
                  "distinct_contracts",
                  "window_start",
                  "window_end",
                  "return_unit",
                  "win_definition",
                  "hold_to_expiry_assumptions"
                ]
              },
              "coverage_funnel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "stage": {
                      "type": "string"
                    },
                    "n": {
                      "type": "integer"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "flag": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "stage",
                    "n",
                    "kind"
                  ]
                }
              },
              "by_dte_bucket": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "bucket": {
                      "type": "string"
                    },
                    "n_scored": {
                      "type": "integer"
                    },
                    "win_rate": {
                      "type": "number"
                    },
                    "win_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "median_return": {
                      "type": "number"
                    },
                    "mean_return": {
                      "type": "number"
                    },
                    "worthless_share": {
                      "type": "number"
                    },
                    "worthless_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "touched_breakeven_optimistic_share": {
                      "type": "number"
                    },
                    "max_return": {
                      "type": "number"
                    },
                    "mean_return_excl_top5": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "bucket",
                    "n_scored",
                    "win_rate",
                    "win_ci",
                    "median_return",
                    "mean_return",
                    "worthless_share",
                    "worthless_ci",
                    "touched_breakeven_optimistic_share",
                    "max_return",
                    "mean_return_excl_top5"
                  ]
                }
              },
              "by_ticker": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "ticker": {
                      "type": "string"
                    },
                    "n_scored": {
                      "type": "integer"
                    },
                    "win_rate": {
                      "type": "number"
                    },
                    "win_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "median_return": {
                      "type": "number"
                    },
                    "mean_return": {
                      "type": "number"
                    },
                    "worthless_share": {
                      "type": "number"
                    },
                    "worthless_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "touched_breakeven_optimistic_share": {
                      "type": "number"
                    },
                    "max_return": {
                      "type": "number"
                    },
                    "mean_return_excl_top5": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "ticker",
                    "n_scored",
                    "win_rate",
                    "win_ci",
                    "median_return",
                    "mean_return",
                    "worthless_share",
                    "worthless_ci",
                    "touched_breakeven_optimistic_share",
                    "max_return",
                    "mean_return_excl_top5"
                  ]
                }
              },
              "by_channel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "channel": {
                      "type": "string"
                    },
                    "n_scored": {
                      "type": "integer"
                    },
                    "win_rate": {
                      "type": "number"
                    },
                    "win_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "median_return": {
                      "type": "number"
                    },
                    "mean_return": {
                      "type": "number"
                    },
                    "worthless_share": {
                      "type": "number"
                    },
                    "worthless_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "touched_breakeven_optimistic_share": {
                      "type": "number"
                    },
                    "max_return": {
                      "type": "number"
                    },
                    "mean_return_excl_top5": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "quoted_closes": {
                      "type": "integer"
                    },
                    "quoted_mean_result": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "quoted_median_result": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "small": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "channel",
                    "n_scored",
                    "win_rate",
                    "win_ci",
                    "median_return",
                    "mean_return",
                    "worthless_share",
                    "worthless_ci",
                    "touched_breakeven_optimistic_share",
                    "max_return",
                    "mean_return_excl_top5",
                    "quoted_closes",
                    "quoted_mean_result",
                    "quoted_median_result",
                    "small"
                  ]
                }
              },
              "paired": {
                "type": "object",
                "properties": {
                  "n_pairs": {
                    "type": "integer"
                  },
                  "n_contracts": {
                    "type": "integer"
                  },
                  "quoted_win_rate": {
                    "type": "number"
                  },
                  "quoted_win_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "quoted_median": {
                    "type": "number"
                  },
                  "quoted_mean": {
                    "type": "number"
                  },
                  "held_win_rate": {
                    "type": "number"
                  },
                  "held_win_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "held_median": {
                    "type": "number"
                  },
                  "held_mean": {
                    "type": "number"
                  },
                  "quoted_winners": {
                    "type": "integer"
                  },
                  "quoted_winners_that_would_have_lost": {
                    "type": "integer"
                  },
                  "quoted_winners_that_would_have_lost_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "link_rule": {
                    "type": "string"
                  },
                  "all_links": {
                    "type": "object",
                    "properties": {
                      "n_pairs": {
                        "type": "integer"
                      },
                      "n_contracts": {
                        "type": "integer"
                      },
                      "quoted_win_rate": {
                        "type": "number"
                      },
                      "quoted_win_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "quoted_median": {
                        "type": "number"
                      },
                      "quoted_mean": {
                        "type": "number"
                      },
                      "held_win_rate": {
                        "type": "number"
                      },
                      "held_win_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "held_median": {
                        "type": "number"
                      },
                      "held_mean": {
                        "type": "number"
                      },
                      "quoted_winners": {
                        "type": "integer"
                      },
                      "quoted_winners_that_would_have_lost": {
                        "type": "integer"
                      },
                      "quoted_winners_that_would_have_lost_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "link_rule": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "n_pairs",
                      "n_contracts",
                      "quoted_win_rate",
                      "quoted_win_ci",
                      "quoted_median",
                      "quoted_mean",
                      "held_win_rate",
                      "held_win_ci",
                      "held_median",
                      "held_mean",
                      "quoted_winners",
                      "quoted_winners_that_would_have_lost",
                      "quoted_winners_that_would_have_lost_ci",
                      "link_rule"
                    ]
                  },
                  "caveat": {
                    "type": "string"
                  }
                },
                "required": [
                  "n_pairs",
                  "n_contracts",
                  "quoted_win_rate",
                  "quoted_win_ci",
                  "quoted_median",
                  "quoted_mean",
                  "held_win_rate",
                  "held_win_ci",
                  "held_median",
                  "held_mean",
                  "quoted_winners",
                  "quoted_winners_that_would_have_lost",
                  "quoted_winners_that_would_have_lost_ci",
                  "link_rule",
                  "all_links",
                  "caveat"
                ]
              }
            },
            "required": [
              "available",
              "pooled",
              "coverage_funnel",
              "by_dte_bucket",
              "by_ticker",
              "by_channel",
              "paired"
            ]
          },
          "fx": {
            "type": "object",
            "properties": {
              "available": {
                "type": "boolean"
              },
              "pooled": {
                "type": "object",
                "properties": {
                  "n_signals_scored": {
                    "type": "integer"
                  },
                  "market_fill_n": {
                    "type": "integer"
                  },
                  "touch_fill_n": {
                    "type": "integer"
                  },
                  "window_start": {
                    "type": "string"
                  },
                  "window_end": {
                    "type": "string"
                  },
                  "outcome_definitions": {
                    "type": "object",
                    "properties": {
                      "tp1_hit_rate": {
                        "type": "string"
                      },
                      "sl_first_rate": {
                        "type": "string"
                      },
                      "tp2plus_rate": {
                        "type": "string"
                      },
                      "mean_r_tp1": {
                        "type": "string"
                      },
                      "mean_r_last": {
                        "type": "string"
                      },
                      "breakeven_tp1_rate": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "tp1_hit_rate",
                      "sl_first_rate",
                      "tp2plus_rate",
                      "mean_r_tp1",
                      "mean_r_last",
                      "breakeven_tp1_rate"
                    ]
                  },
                  "tp1_hit_rate": {
                    "type": "number"
                  },
                  "tp1_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "sl_first_rate": {
                    "type": "number"
                  },
                  "sl_first_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "unresolved_rate": {
                    "type": "number"
                  },
                  "tp2plus_rate": {
                    "type": "number"
                  },
                  "tp2plus_n": {
                    "type": "integer"
                  },
                  "tp2plus_denominator": {
                    "type": "integer"
                  },
                  "tp2plus_ci": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "mean_r_tp1": {
                    "type": "number"
                  },
                  "mean_r_last": {
                    "type": "number"
                  },
                  "avg_tp1_distance_r": {
                    "type": "number"
                  },
                  "avg_winning_tp1_r": {
                    "type": "number"
                  },
                  "breakeven_tp1_rate": {
                    "type": "number"
                  },
                  "median_minutes_to_first_event": {
                    "type": "number"
                  },
                  "ambiguous_same_bar": {
                    "type": "integer"
                  },
                  "variant": {
                    "type": "string"
                  },
                  "concentration": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "n_channels": {
                        "type": "integer"
                      },
                      "top_channel": {
                        "type": "string"
                      },
                      "top_channel_n": {
                        "type": "integer"
                      },
                      "top_instrument": {
                        "type": "string"
                      },
                      "top_instrument_n": {
                        "type": "integer"
                      },
                      "n_same_day_setup_groups": {
                        "type": "integer"
                      },
                      "window_days": {
                        "type": "integer"
                      },
                      "mean_r_tp1_se": {
                        "type": "number"
                      },
                      "mean_r_tp1_range95": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "mean_r_sign_established": {
                        "type": "boolean"
                      },
                      "caveat": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "n",
                      "n_channels",
                      "top_channel",
                      "top_channel_n",
                      "top_instrument",
                      "top_instrument_n",
                      "n_same_day_setup_groups",
                      "window_days",
                      "mean_r_tp1_se",
                      "mean_r_tp1_range95",
                      "mean_r_sign_established",
                      "caveat"
                    ]
                  }
                },
                "required": [
                  "n_signals_scored",
                  "market_fill_n",
                  "touch_fill_n",
                  "window_start",
                  "window_end",
                  "outcome_definitions",
                  "tp1_hit_rate",
                  "tp1_ci",
                  "sl_first_rate",
                  "sl_first_ci",
                  "unresolved_rate",
                  "tp2plus_rate",
                  "tp2plus_n",
                  "tp2plus_denominator",
                  "tp2plus_ci",
                  "mean_r_tp1",
                  "mean_r_last",
                  "avg_tp1_distance_r",
                  "avg_winning_tp1_r",
                  "breakeven_tp1_rate",
                  "median_minutes_to_first_event",
                  "ambiguous_same_bar",
                  "variant",
                  "concentration"
                ]
              },
              "by_instrument": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "instrument": {
                      "type": "string"
                    },
                    "touch_n": {
                      "type": "integer"
                    },
                    "small": {
                      "type": "boolean"
                    },
                    "n": {
                      "type": "integer"
                    },
                    "tp1_hit_rate": {
                      "type": "number"
                    },
                    "tp1_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "sl_first_rate": {
                      "type": "number"
                    },
                    "sl_first_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "unresolved_rate": {
                      "type": "number"
                    },
                    "tp2plus_rate": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "tp2plus_n": {
                      "type": "integer"
                    },
                    "tp2plus_denominator": {
                      "type": "integer"
                    },
                    "tp2plus_ci": {
                      "type": "array",
                      "items": {
                        "type": [
                          "null",
                          "number"
                        ]
                      }
                    },
                    "mean_r_tp1": {
                      "type": "number"
                    },
                    "mean_r_last": {
                      "type": "number"
                    },
                    "avg_tp1_distance_r": {
                      "type": "number"
                    },
                    "avg_winning_tp1_r": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "breakeven_tp1_rate": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "median_minutes_to_first_event": {
                      "type": "number"
                    },
                    "ambiguous_same_bar": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "instrument",
                    "touch_n",
                    "small",
                    "n",
                    "tp1_hit_rate",
                    "tp1_ci",
                    "sl_first_rate",
                    "sl_first_ci",
                    "unresolved_rate",
                    "tp2plus_rate",
                    "tp2plus_n",
                    "tp2plus_denominator",
                    "tp2plus_ci",
                    "mean_r_tp1",
                    "mean_r_last",
                    "avg_tp1_distance_r",
                    "avg_winning_tp1_r",
                    "breakeven_tp1_rate",
                    "median_minutes_to_first_event",
                    "ambiguous_same_bar"
                  ]
                }
              },
              "by_channel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "channel": {
                      "type": "string"
                    },
                    "touch_n": {
                      "type": "integer"
                    },
                    "small": {
                      "type": "boolean"
                    },
                    "n": {
                      "type": "integer"
                    },
                    "tp1_hit_rate": {
                      "type": "number"
                    },
                    "tp1_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "sl_first_rate": {
                      "type": "number"
                    },
                    "sl_first_ci": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "unresolved_rate": {
                      "type": "number"
                    },
                    "tp2plus_rate": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "tp2plus_n": {
                      "type": "integer"
                    },
                    "tp2plus_denominator": {
                      "type": "integer"
                    },
                    "tp2plus_ci": {
                      "type": "array",
                      "items": {
                        "type": [
                          "null",
                          "number"
                        ]
                      }
                    },
                    "mean_r_tp1": {
                      "type": "number"
                    },
                    "mean_r_last": {
                      "type": "number"
                    },
                    "avg_tp1_distance_r": {
                      "type": "number"
                    },
                    "avg_winning_tp1_r": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "breakeven_tp1_rate": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "median_minutes_to_first_event": {
                      "type": "number"
                    },
                    "ambiguous_same_bar": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "channel",
                    "touch_n",
                    "small",
                    "n",
                    "tp1_hit_rate",
                    "tp1_ci",
                    "sl_first_rate",
                    "sl_first_ci",
                    "unresolved_rate",
                    "tp2plus_rate",
                    "tp2plus_n",
                    "tp2plus_denominator",
                    "tp2plus_ci",
                    "mean_r_tp1",
                    "mean_r_last",
                    "avg_tp1_distance_r",
                    "avg_winning_tp1_r",
                    "breakeven_tp1_rate",
                    "median_minutes_to_first_event",
                    "ambiguous_same_bar"
                  ]
                }
              },
              "weekly_by_channel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "channel": {
                      "type": "string"
                    },
                    "n_scored": {
                      "type": "integer"
                    },
                    "weeks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "week_start": {
                            "type": "string"
                          },
                          "distinct_signals_posted": {
                            "type": "integer"
                          },
                          "market_n": {
                            "type": "integer"
                          },
                          "stats": {
                            "type": "object",
                            "properties": {
                              "n": {
                                "type": "integer"
                              },
                              "tp1_hit_rate": {
                                "type": "number"
                              },
                              "tp1_ci": {
                                "type": "array"
                              },
                              "sl_first_rate": {
                                "type": "number"
                              },
                              "sl_first_ci": {
                                "type": "array"
                              },
                              "unresolved_rate": {
                                "type": "number"
                              },
                              "tp2plus_rate": {
                                "type": "number"
                              },
                              "tp2plus_n": {
                                "type": "integer"
                              },
                              "tp2plus_denominator": {
                                "type": "integer"
                              },
                              "tp2plus_ci": {
                                "type": "array"
                              },
                              "mean_r_tp1": {
                                "type": "number"
                              },
                              "mean_r_last": {
                                "type": "number"
                              },
                              "avg_tp1_distance_r": {
                                "type": "number"
                              },
                              "avg_winning_tp1_r": {
                                "type": [
                                  "null",
                                  "number"
                                ]
                              },
                              "breakeven_tp1_rate": {
                                "type": [
                                  "null",
                                  "number"
                                ]
                              },
                              "median_minutes_to_first_event": {
                                "type": "number"
                              },
                              "ambiguous_same_bar": {
                                "type": "integer"
                              }
                            },
                            "required": [
                              "n",
                              "tp1_hit_rate",
                              "tp1_ci",
                              "sl_first_rate",
                              "sl_first_ci",
                              "unresolved_rate",
                              "tp2plus_rate",
                              "tp2plus_n",
                              "tp2plus_denominator",
                              "tp2plus_ci",
                              "mean_r_tp1",
                              "mean_r_last",
                              "avg_tp1_distance_r",
                              "avg_winning_tp1_r",
                              "breakeven_tp1_rate",
                              "median_minutes_to_first_event",
                              "ambiguous_same_bar"
                            ]
                          },
                          "touch_n": {
                            "type": "integer"
                          },
                          "touch_tp1_hit_rate": {
                            "type": [
                              "null",
                              "number"
                            ]
                          }
                        },
                        "required": [
                          "week_start",
                          "distinct_signals_posted",
                          "market_n",
                          "stats",
                          "touch_n",
                          "touch_tp1_hit_rate"
                        ]
                      }
                    },
                    "note": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "channel",
                    "n_scored",
                    "weeks",
                    "note"
                  ]
                }
              },
              "touch_variant": {
                "type": "object",
                "properties": {
                  "n": {
                    "type": "integer"
                  },
                  "note": {
                    "type": "string"
                  },
                  "pooled": {
                    "type": "object",
                    "properties": {
                      "n": {
                        "type": "integer"
                      },
                      "tp1_hit_rate": {
                        "type": "number"
                      },
                      "tp1_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "sl_first_rate": {
                        "type": "number"
                      },
                      "sl_first_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "unresolved_rate": {
                        "type": "number"
                      },
                      "tp2plus_rate": {
                        "type": "number"
                      },
                      "tp2plus_n": {
                        "type": "integer"
                      },
                      "tp2plus_denominator": {
                        "type": "integer"
                      },
                      "tp2plus_ci": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "mean_r_tp1": {
                        "type": "number"
                      },
                      "mean_r_last": {
                        "type": "number"
                      },
                      "avg_tp1_distance_r": {
                        "type": "number"
                      },
                      "avg_winning_tp1_r": {
                        "type": "number"
                      },
                      "breakeven_tp1_rate": {
                        "type": "number"
                      },
                      "median_minutes_to_first_event": {
                        "type": "number"
                      },
                      "ambiguous_same_bar": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "n",
                      "tp1_hit_rate",
                      "tp1_ci",
                      "sl_first_rate",
                      "sl_first_ci",
                      "unresolved_rate",
                      "tp2plus_rate",
                      "tp2plus_n",
                      "tp2plus_denominator",
                      "tp2plus_ci",
                      "mean_r_tp1",
                      "mean_r_last",
                      "avg_tp1_distance_r",
                      "avg_winning_tp1_r",
                      "breakeven_tp1_rate",
                      "median_minutes_to_first_event",
                      "ambiguous_same_bar"
                    ]
                  },
                  "by_instrument": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "instrument": {
                          "type": "string"
                        },
                        "n": {
                          "type": "integer"
                        },
                        "tp1_hit_rate": {
                          "type": "number"
                        },
                        "tp1_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "sl_first_rate": {
                          "type": "number"
                        },
                        "sl_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "unresolved_rate": {
                          "type": "number"
                        },
                        "tp2plus_rate": {
                          "type": "number"
                        },
                        "tp2plus_n": {
                          "type": "integer"
                        },
                        "tp2plus_denominator": {
                          "type": "integer"
                        },
                        "tp2plus_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "mean_r_tp1": {
                          "type": "number"
                        },
                        "mean_r_last": {
                          "type": "number"
                        },
                        "avg_tp1_distance_r": {
                          "type": "number"
                        },
                        "avg_winning_tp1_r": {
                          "type": "number"
                        },
                        "breakeven_tp1_rate": {
                          "type": "number"
                        },
                        "median_minutes_to_first_event": {
                          "type": "number"
                        },
                        "ambiguous_same_bar": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "instrument",
                        "n",
                        "tp1_hit_rate",
                        "tp1_ci",
                        "sl_first_rate",
                        "sl_first_ci",
                        "unresolved_rate",
                        "tp2plus_rate",
                        "tp2plus_n",
                        "tp2plus_denominator",
                        "tp2plus_ci",
                        "mean_r_tp1",
                        "mean_r_last",
                        "avg_tp1_distance_r",
                        "avg_winning_tp1_r",
                        "breakeven_tp1_rate",
                        "median_minutes_to_first_event",
                        "ambiguous_same_bar"
                      ]
                    }
                  },
                  "by_channel": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "channel": {
                          "type": "string"
                        },
                        "small": {
                          "type": "boolean"
                        },
                        "n": {
                          "type": "integer"
                        },
                        "tp1_hit_rate": {
                          "type": "number"
                        },
                        "tp1_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "sl_first_rate": {
                          "type": "number"
                        },
                        "sl_first_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "unresolved_rate": {
                          "type": "number"
                        },
                        "tp2plus_rate": {
                          "type": "number"
                        },
                        "tp2plus_n": {
                          "type": "integer"
                        },
                        "tp2plus_denominator": {
                          "type": "integer"
                        },
                        "tp2plus_ci": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "mean_r_tp1": {
                          "type": "number"
                        },
                        "mean_r_last": {
                          "type": "number"
                        },
                        "avg_tp1_distance_r": {
                          "type": "number"
                        },
                        "avg_winning_tp1_r": {
                          "type": "number"
                        },
                        "breakeven_tp1_rate": {
                          "type": "number"
                        },
                        "median_minutes_to_first_event": {
                          "type": "number"
                        },
                        "ambiguous_same_bar": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "channel",
                        "small",
                        "n",
                        "tp1_hit_rate",
                        "tp1_ci",
                        "sl_first_rate",
                        "sl_first_ci",
                        "unresolved_rate",
                        "tp2plus_rate",
                        "tp2plus_n",
                        "tp2plus_denominator",
                        "tp2plus_ci",
                        "mean_r_tp1",
                        "mean_r_last",
                        "avg_tp1_distance_r",
                        "avg_winning_tp1_r",
                        "breakeven_tp1_rate",
                        "median_minutes_to_first_event",
                        "ambiguous_same_bar"
                      ]
                    }
                  }
                },
                "required": [
                  "n",
                  "note",
                  "pooled",
                  "by_instrument",
                  "by_channel"
                ]
              },
              "sensitivity": {
                "type": "object",
                "properties": {
                  "rows": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "mode": {
                          "type": "string"
                        },
                        "gold_market": {
                          "type": "object",
                          "properties": {
                            "n": {
                              "type": "integer"
                            },
                            "tp1_hit_rate": {
                              "type": "number"
                            },
                            "mean_r_tp1": {
                              "type": "number"
                            },
                            "mean_r_last": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "n"
                          ]
                        },
                        "gold_touch": {
                          "type": "object",
                          "properties": {
                            "n": {
                              "type": "integer"
                            },
                            "tp1_hit_rate": {
                              "type": "number"
                            },
                            "mean_r_tp1": {
                              "type": "number"
                            },
                            "mean_r_last": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "n"
                          ]
                        },
                        "all_market": {
                          "type": "object",
                          "properties": {
                            "n": {
                              "type": "integer"
                            },
                            "tp1_hit_rate": {
                              "type": "number"
                            },
                            "mean_r_tp1": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "n",
                            "tp1_hit_rate",
                            "mean_r_tp1"
                          ]
                        },
                        "skipped_typo": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "mode",
                        "gold_market",
                        "gold_touch",
                        "all_market",
                        "skipped_typo"
                      ]
                    }
                  },
                  "range": {
                    "type": "object",
                    "properties": {
                      "scope": {
                        "type": "string"
                      },
                      "tp1_hit_rate": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "mean_r_tp1": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "n": {
                        "type": "array",
                        "items": {
                          "type": "integer"
                        }
                      },
                      "mean_r_tp1_same_sign": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "scope",
                      "tp1_hit_rate",
                      "mean_r_tp1",
                      "n",
                      "mean_r_tp1_same_sign"
                    ]
                  },
                  "note": {
                    "type": "string"
                  }
                },
                "required": [
                  "rows",
                  "range",
                  "note"
                ]
              },
              "assumptions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "assumptions_report": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "content_timeline": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "channel": {
                      "type": "string"
                    },
                    "fx_posts": {
                      "type": "integer"
                    },
                    "fx_first": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "fx_last": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "fx_first_outside_bulk": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "fx_last_outside_bulk": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "stock_option_posts": {
                      "type": "integer"
                    },
                    "stock_first": {
                      "type": "string"
                    },
                    "stock_last": {
                      "type": "string"
                    },
                    "stock_first_outside_bulk": {
                      "type": "string"
                    },
                    "stock_last_outside_bulk": {
                      "type": "string"
                    },
                    "stock_option_posts_in_bulk_groups": {
                      "type": "integer"
                    },
                    "bulk_groups": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "string"
                          },
                          "posts": {
                            "type": "integer"
                          },
                          "fx_signal_posts": {
                            "type": "integer"
                          },
                          "stock_option_posts": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "timestamp",
                          "posts",
                          "fx_signal_posts",
                          "stock_option_posts"
                        ]
                      }
                    },
                    "bulk_group_count": {
                      "type": "integer"
                    },
                    "weeks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "week": {
                            "type": "string"
                          },
                          "fx": {
                            "type": "integer"
                          },
                          "stock": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "week",
                          "fx",
                          "stock"
                        ]
                      }
                    }
                  },
                  "required": [
                    "channel",
                    "fx_posts",
                    "fx_first",
                    "fx_last",
                    "fx_first_outside_bulk",
                    "fx_last_outside_bulk",
                    "stock_option_posts",
                    "stock_first",
                    "stock_last",
                    "stock_first_outside_bulk",
                    "stock_last_outside_bulk",
                    "stock_option_posts_in_bulk_groups",
                    "bulk_groups",
                    "bulk_group_count",
                    "weeks"
                  ]
                }
              },
              "coverage_funnel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "stage": {
                      "type": "string"
                    },
                    "n": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "stage",
                    "n"
                  ]
                }
              },
              "follow_up_claims_not_scored": {
                "type": "integer"
              }
            },
            "required": [
              "available",
              "pooled",
              "by_instrument",
              "by_channel",
              "weekly_by_channel",
              "touch_variant",
              "sensitivity",
              "assumptions",
              "assumptions_report",
              "content_timeline",
              "coverage_funnel",
              "follow_up_claims_not_scored"
            ]
          }
        },
        "required": [
          "generated_at",
          "credit",
          "disclaimer",
          "source",
          "methodology",
          "methodology_doc",
          "conventions",
          "small_sample_rule",
          "options",
          "fx"
        ],
        "description": "Inferred from the built file api/funnel-scorecard.json."
      },
      "FunnelFxSignals": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "credit": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "methodology": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "signals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "channel": {
                  "type": "string"
                },
                "date": {
                  "type": "string"
                },
                "instrument": {
                  "type": "string"
                },
                "side": {
                  "type": "string"
                },
                "entry_lo": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "entry_hi": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "sl": {
                  "type": "number"
                },
                "tps": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "variant": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string"
                },
                "r_tp1": {
                  "type": "number"
                },
                "r_last": {
                  "type": "number"
                },
                "minutes_to_first_event": {
                  "type": "number"
                },
                "tps_hit": {
                  "type": "integer"
                },
                "text": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "channel",
                "date",
                "instrument",
                "side",
                "entry_lo",
                "entry_hi",
                "sl",
                "tps",
                "variant",
                "outcome",
                "r_tp1",
                "r_last",
                "minutes_to_first_event",
                "tps_hit",
                "text"
              ]
            }
          }
        },
        "required": [
          "generated_at",
          "credit",
          "disclaimer",
          "methodology",
          "count",
          "signals"
        ],
        "description": "Inferred from the built file api/funnel-fx-signals.json."
      },
      "FunnelLive": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "generated_at": {
            "type": "string"
          },
          "disclaimer": {
            "type": "string"
          },
          "market": {
            "type": "string"
          },
          "window_hours": {
            "type": "integer"
          },
          "refresh_hint_sec": {
            "type": "integer"
          },
          "channels_polled": {
            "type": "integer"
          },
          "channels_total": {
            "type": "integer"
          },
          "new_posts_this_run": {
            "type": "integer"
          },
          "live_note": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "hot_tickers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "n_60m": {
                  "type": "integer"
                },
                "n_24h": {
                  "type": "integer"
                },
                "chans": {
                  "type": "integer"
                },
                "calls": {
                  "type": "integer"
                },
                "puts": {
                  "type": "integer"
                }
              },
              "required": [
                "ticker",
                "n_60m",
                "n_24h",
                "chans",
                "calls",
                "puts"
              ]
            }
          },
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "channel": {
                  "type": "string"
                },
                "posted": {
                  "type": "string"
                },
                "ticker": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "side": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "strike": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "expiry": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "entry_price": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "action": {
                  "type": "string"
                },
                "result_pct": {
                  "type": [
                    "null",
                    "number"
                  ]
                },
                "text": {
                  "type": "string"
                },
                "parse_flags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "channel",
                "posted",
                "ticker",
                "kind",
                "side",
                "strike",
                "expiry",
                "entry_price",
                "action",
                "result_pct",
                "text"
              ]
            }
          }
        },
        "required": [
          "source",
          "generated_at",
          "disclaimer",
          "market",
          "window_hours",
          "refresh_hint_sec",
          "channels_polled",
          "channels_total",
          "new_posts_this_run",
          "live_note",
          "count",
          "hot_tickers",
          "calls"
        ],
        "description": "Inferred from the built file api/funnel-live.json."
      },
      "McpSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "protocolVersion": {
            "type": "string"
          },
          "server": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "documentation": {
                "type": "string"
              },
              "serverScript": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "description",
              "documentation",
              "serverScript",
              "endpoint"
            ]
          },
          "toolCount": {
            "type": "integer"
          },
          "tools": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "inputSchema": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object",
                      "properties": {
                        "limit": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "default"
                          ]
                        },
                        "min_whale_capital": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_conviction": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_owners": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "asset_type": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "description",
                            "default"
                          ]
                        },
                        "sort_by": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "description",
                            "default"
                          ]
                        },
                        "username": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "description"
                          ]
                        },
                        "live": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "ticker": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type"
                          ]
                        },
                        "include_bars": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_net_worth": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_cash": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_profit": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_profit_pct": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_followers": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "max_followers": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description"
                          ]
                        },
                        "min_capital": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "min_shadow_ratio": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "telegram_link": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "description"
                          ]
                        },
                        "tier": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "description"
                          ]
                        },
                        "channel": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "description"
                          ]
                        },
                        "action": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "description"
                          ]
                        },
                        "section": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "description",
                            "default"
                          ]
                        },
                        "date": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "description"
                          ]
                        },
                        "symbols": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            "description": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "items",
                            "description"
                          ]
                        },
                        "sort": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "default"
                          ]
                        },
                        "time_range": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "default"
                          ]
                        },
                        "take": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "cursor": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "symbol": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type"
                          ]
                        },
                        "timespan": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "default"
                          ]
                        },
                        "multiplier": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "days": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "default": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "type",
                            "description",
                            "default"
                          ]
                        },
                        "view": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "type",
                            "enum"
                          ]
                        },
                        "window": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "enum": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "default": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "enum",
                            "default"
                          ]
                        }
                      }
                    },
                    "additionalProperties": {
                      "type": "boolean"
                    },
                    "required": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "type",
                    "properties",
                    "additionalProperties"
                  ]
                }
              },
              "required": [
                "name",
                "description",
                "inputSchema"
              ]
            }
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uri": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "mimeType": {
                  "type": "string"
                }
              },
              "required": [
                "uri",
                "name",
                "description",
                "mimeType"
              ]
            }
          }
        },
        "required": [
          "version",
          "protocolVersion",
          "server",
          "toolCount",
          "tools",
          "resources"
        ],
        "description": "Inferred from the built file api/mcp-schema.json."
      },
      "Openapi": {
        "type": "object",
        "properties": {
          "openapi": {
            "type": "string"
          },
          "info": {
            "type": "object",
            "properties": {}
          },
          "paths": {
            "type": "object",
            "properties": {}
          },
          "components": {
            "type": "object",
            "properties": {}
          }
        },
        "required": [
          "openapi",
          "info",
          "paths",
          "components"
        ],
        "description": "Inferred from the built file api/openapi.json."
      },
      "JsonRpcRequest": {
        "type": "object",
        "required": [
          "jsonrpc",
          "method"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ]
          },
          "id": {
            "type": [
              "integer",
              "string",
              "null"
            ]
          },
          "method": {
            "type": "string",
            "description": "initialize, tools/list, tools/call, resources/list, resources/read, ping"
          },
          "params": {
            "type": "object"
          }
        }
      },
      "JsonRpcResponse": {
        "type": "object",
        "required": [
          "jsonrpc"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string"
          },
          "id": {
            "type": [
              "integer",
              "string",
              "null"
            ]
          },
          "result": {
            "type": "object"
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}