{
  "openapi": "3.1.0",
  "info": {
    "title": "bfin API Reference",
    "version": "0.1.0",
    "description": "Barchart.com source API for bluedoor Financial Data.\nCombines options, futures, COT, and broad market utility routes.\nCoverage: Multi-symbol quotes; Historical and intraday bars; Options chains and flow; Futures and COT data.\nGenerated from the live source contract and representative live API responses on 2026-06-07T01:30:59.456Z."
  },
  "servers": [
    {
      "url": "https://api.bfin.bluedoor.sh",
      "description": "bfin source API"
    }
  ],
  "externalDocs": {
    "description": "Barchart.com source API docs",
    "url": "https://bluedoor.sh/apis/financial-data/sources/bfin"
  },
  "tags": [
    {
      "name": "News"
    },
    {
      "name": "Options"
    },
    {
      "name": "Quotes"
    }
  ],
  "paths": {
    "/v1/cot": {
      "get": {
        "summary": "COT",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_cotResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.commitment-of-traders.get",
                        "family": "cot",
                        "cache": "hit",
                        "ttl_seconds": 21600,
                        "stale_seconds": 3600,
                        "generated_at": "2026-06-07T00:11:39.442Z",
                        "route": "cot"
                      },
                      "data": {
                        "count": 8,
                        "total": 372,
                        "data": {
                          "Grains": [
                            {
                              "symbol": "ZWN26",
                              "symbolName": "Wheat",
                              "category": "Grains",
                              "net52wHigh": "93,573",
                              "net52wLow": "-3,033",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "38,439",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "7,530",
                                  "isNewPositive": true,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-1,992",
                                  "isNewPositive": false,
                                  "isNewNegative": true,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "ZCN26",
                              "symbolName": "Corn",
                              "category": "Grains",
                              "net52wHigh": "174,260",
                              "net52wLow": "-368,848",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-111,394",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-231,519",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-288,625",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "ZSN26",
                              "symbolName": "Soybean",
                              "category": "Grains",
                              "net52wHigh": "54,893",
                              "net52wLow": "-229,882",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-164,890",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-176,610",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-183,266",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Energies": [
                            {
                              "symbol": "CLN26",
                              "symbolName": "Crude Oil WTI",
                              "category": "Energies",
                              "net52wHigh": "-55,056",
                              "net52wLow": "-276,447",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-188,109",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-195,473",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-200,409",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "HON26",
                              "symbolName": "ULSD NY Harbor",
                              "category": "Energies",
                              "net52wHigh": "-20,773",
                              "net52wLow": "-64,495",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-31,186",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-29,852",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-31,776",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "RBN26",
                              "symbolName": "Gasoline RBOB",
                              "category": "Energies",
                              "net52wHigh": "-35,447",
                              "net52wLow": "-111,747",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-66,859",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-68,417",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-64,242",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Meats": [
                            {
                              "symbol": "LEQ26",
                              "symbolName": "Live Cattle",
                              "category": "Meats",
                              "net52wHigh": "-61,974",
                              "net52wLow": "-98,291",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-66,666",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-75,333",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-78,298",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "GFQ26",
                              "symbolName": "Feeder Cattle",
                              "category": "Meats",
                              "net52wHigh": "1,201",
                              "net52wLow": "-13,632",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "1,201",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": true,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "468",
                                  "isNewPositive": true,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-2,136",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "HEN26",
                              "symbolName": "Lean Hogs",
                              "category": "Meats",
                              "net52wHigh": "39,700",
                              "net52wLow": "-96,861",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "39,700",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": true,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "25,553",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "10,228",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Metals": [
                            {
                              "symbol": "GCQ26",
                              "symbolName": "Gold",
                              "category": "Metals",
                              "net52wHigh": "-185,766",
                              "net52wLow": "-302,371",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-206,345",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-185,766",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": true,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-191,629",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "SIN26",
                              "symbolName": "Silver",
                              "category": "Metals",
                              "net52wHigh": "-38,358",
                              "net52wLow": "-85,948",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-42,661",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-40,893",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-42,668",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "HGN26",
                              "symbolName": "High Grade Copper",
                              "category": "Metals",
                              "net52wHigh": "-28,683",
                              "net52wLow": "-88,645",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-88,645",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": true
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-83,712",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-85,499",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Softs": [
                            {
                              "symbol": "CTZ26",
                              "symbolName": "Cotton #2",
                              "category": "Softs",
                              "net52wHigh": "68,333",
                              "net52wLow": "-117,159",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-93,421",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-96,751",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-103,545",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "OJN26",
                              "symbolName": "Orange Juice",
                              "category": "Softs",
                              "net52wHigh": "1,606",
                              "net52wLow": "-3,474",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-1,045",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-1,358",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-1,600",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "KCN26",
                              "symbolName": "Coffee",
                              "category": "Softs",
                              "net52wHigh": "-10,840",
                              "net52wLow": "-47,350",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-13,505",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-16,766",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-15,381",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Currencies": [
                            {
                              "symbol": "DXM26",
                              "symbolName": "U.S. Dollar Index",
                              "category": "Currencies",
                              "net52wHigh": "15,939",
                              "net52wLow": "-6,675",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-5,402",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-2,413",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-1,551",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "BAM26",
                              "symbolName": "Bitcoin Micro",
                              "category": "Currencies",
                              "net52wHigh": "1,984",
                              "net52wLow": "137",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "137",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": true
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "717",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "606",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "TAM26",
                              "symbolName": "Ether Micro",
                              "category": "Currencies",
                              "net52wHigh": "6,130",
                              "net52wLow": "-13,559",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "40",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "40",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "0",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Financials": [
                            {
                              "symbol": "ZBU26",
                              "symbolName": "30-Year T-Bond",
                              "category": "Financials",
                              "net52wHigh": "115,899",
                              "net52wLow": "-179,711",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "72,372",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "115,899",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": true,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "111,298",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "UDU26",
                              "symbolName": "Ultra T-Bond",
                              "category": "Financials",
                              "net52wHigh": "297,249",
                              "net52wLow": "192,463",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "296,004",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "271,954",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "264,146",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "ZNU26",
                              "symbolName": "10-Year T-Note",
                              "category": "Financials",
                              "net52wHigh": "843,450",
                              "net52wLow": "496,185",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "821,742",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "496,185",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": true
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "786,275",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ],
                          "Indices": [
                            {
                              "symbol": "ESM26",
                              "symbolName": "S&P 500 E-Mini",
                              "category": "Indices",
                              "net52wHigh": "134,019",
                              "net52wLow": "-50,620",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "110,074",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "54,929",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "38,808",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "ETM26",
                              "symbolName": "S&P 500 Micro",
                              "category": "Indices",
                              "net52wHigh": "71,853",
                              "net52wLow": "-22,541",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "18,058",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "10,959",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "12,766",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            },
                            {
                              "symbol": "EWM26",
                              "symbolName": "S&P Midcap E-Mini",
                              "category": "Indices",
                              "net52wHigh": "-2,743",
                              "net52wLow": "-11,060",
                              "history": [
                                {
                                  "date": "Jun 2, 2026",
                                  "net": "-4,153",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 26, 2026",
                                  "net": "-3,149",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                },
                                {
                                  "date": "May 19, 2026",
                                  "net": "-3,802",
                                  "isNewPositive": false,
                                  "isNewNegative": false,
                                  "is52wHigh": false,
                                  "is52wLow": false
                                }
                              ]
                            }
                          ]
                        },
                        "meta": {
                          "field": {
                            "name": {
                              "symbol": "Symbol",
                              "symbolName": "Commodity",
                              "category": "Category",
                              "net52wHigh": "52W High",
                              "net52wLow": "52W Low",
                              "history": [
                                "Jun 2, 2026",
                                "May 26, 2026",
                                "May 19, 2026"
                              ]
                            }
                          },
                          "lastUpdate": "June 2, 2026"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.commitment-of-traders.get",
        "operationId": "bfin_get_cot",
        "description": "Returns COT with source-native fields and identifiers.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/cot",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:55.029Z"
      }
    },
    "/v1/exchanges": {
      "get": {
        "summary": "Exchanges",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_exchangesResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "instruments-prod.exchanges",
                        "family": "exchanges",
                        "cache": "hit",
                        "ttl_seconds": 86400,
                        "stale_seconds": 86400,
                        "generated_at": "2026-06-07T00:11:46.773Z",
                        "route": "exchanges"
                      },
                      "data": [
                        {
                          "id": "AGC_PRICES",
                          "display": "AGC_PRICES",
                          "description": "Black Sea Grain Prices",
                          "frequency": 1,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Cash Prices"
                        },
                        {
                          "id": "AGIDX_B_COU",
                          "display": "AG IDX Cou Basis",
                          "description": "AG Index Basis (County)",
                          "frequency": 13,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Indexes"
                        },
                        {
                          "id": "AGIDX_B_CRD",
                          "display": "AG IDX CRD Basis",
                          "description": "AG Index Basis (Crop Reporting District)",
                          "frequency": 13,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Indexes"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "instruments-prod.exchanges",
        "operationId": "bfin_get_exchanges",
        "description": "Returns exchanges with source-native fields and identifiers.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/exchanges",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:55.485Z"
      }
    },
    "/v1/insider-trades": {
      "get": {
        "summary": "Insider trades",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_insider_tradesResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.insiderTrades.get",
                        "family": "insider-trades",
                        "cache": "hit",
                        "ttl_seconds": 1800,
                        "stale_seconds": 3600,
                        "generated_at": "2026-06-07T01:25:46.378Z",
                        "route": "insider_trades"
                      },
                      "data": {
                        "count": 10,
                        "total": 2220,
                        "data": [
                          {
                            "symbol": "AAPL",
                            "transactionDate": "04/15/21",
                            "transactionType": "Award",
                            "raw": {
                              "symbol": "AAPL",
                              "transactionDate": "2021-04-15",
                              "transactionType": "Award"
                            }
                          },
                          {
                            "symbol": "AAPL",
                            "transactionDate": "04/15/21",
                            "transactionType": "Sale Post-exercise*",
                            "raw": {
                              "symbol": "AAPL",
                              "transactionDate": "2021-04-15",
                              "transactionType": "Sale Post-exercise*"
                            }
                          },
                          {
                            "symbol": "AAPL",
                            "transactionDate": "04/15/21",
                            "transactionType": "Award",
                            "raw": {
                              "symbol": "AAPL",
                              "transactionDate": "2021-04-15",
                              "transactionType": "Award"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.insiderTrades.get",
        "operationId": "bfin_get_insider_trades",
        "description": "Returns insider trades with source-native fields and identifiers.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/insider-trades",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:56.044Z"
      }
    },
    "/v1/news": {
      "get": {
        "summary": "Headlines",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_newsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.news.get",
                        "family": "news",
                        "cache": "miss",
                        "ttl_seconds": 300,
                        "stale_seconds": 1800,
                        "generated_at": "2026-06-07T01:32:57.085Z",
                        "route": "news"
                      },
                      "data": {
                        "count": 10,
                        "total": 3,
                        "data": [
                          {
                            "symbol": "N/A",
                            "title": "The Dow's Split Personality: Why Some Winners Soar While Others Drag Down the Dow",
                            "canonicalUrl": "https://www.barchart.com/story/news/2341785/the-dow-s-split-personality-why-some-winners-soar-while-others-drag-down-the-dow",
                            "raw": {
                              "symbol": null,
                              "title": "The Dow's Split Personality: Why Some Winners Soar While Others Drag Down the Dow",
                              "canonicalUrl": "https://www.barchart.com/story/news/2341785/the-dow-s-split-personality-why-some-winners-soar-while-others-drag-down-the-dow"
                            }
                          },
                          {
                            "symbol": "N/A",
                            "title": "Greg Abel is Writing Checks for Berkshire Hathaway in a Hurry. You Should Write One for BRK.B Stock.",
                            "canonicalUrl": "https://www.barchart.com/story/news/2341486/greg-abel-is-writing-checks-for-berkshire-hathaway-in-a-hurry-you-should-write-one-for-brk-b-stock",
                            "raw": {
                              "symbol": null,
                              "title": "Greg Abel is Writing Checks for Berkshire Hathaway in a Hurry. You Should Write One for BRK.B Stock.",
                              "canonicalUrl": "https://www.barchart.com/story/news/2341486/greg-abel-is-writing-checks-for-berkshire-hathaway-in-a-hurry-you-should-write-one-for-brk-b-stock"
                            }
                          },
                          {
                            "symbol": "N/A",
                            "title": "Hunting for the Next Nvidia Is No Easy Feat. Small-Cap Tech Stocks Promise Riches but Really Are Just Rags.",
                            "canonicalUrl": "https://www.barchart.com/story/news/2340255/hunting-for-the-next-nvidia-is-no-easy-feat-small-cap-tech-stocks-promise-riches-but-really-are-just-rags",
                            "raw": {
                              "symbol": null,
                              "title": "Hunting for the Next Nvidia Is No Easy Feat. Small-Cap Tech Stocks Promise Riches but Really Are Just Rags.",
                              "canonicalUrl": "https://www.barchart.com/story/news/2340255/hunting-for-the-next-nvidia-is-no-easy-feat-small-cap-tech-stocks-promise-riches-but-really-are-just-rags"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.news.get",
        "operationId": "bfin_get_news",
        "description": "Returns headlines with headline, timestamp, symbol, and source fields where available.",
        "tags": [
          "News"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/news",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:57.346Z"
      }
    },
    "/v1/quotes": {
      "get": {
        "summary": "Snapshots",
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quotesResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.quotes.get",
                        "family": "quote",
                        "cache": "miss",
                        "ttl_seconds": 15,
                        "stale_seconds": 60,
                        "generated_at": "2026-06-07T01:32:57.978Z",
                        "route": "quotes"
                      },
                      "data": {
                        "count": 2,
                        "total": 2,
                        "data": [
                          {
                            "symbol": "AAPL",
                            "symbolName": "Apple Inc",
                            "lastPrice": "307.34",
                            "priceChange": "-3.89",
                            "percentChange": "-1.25%",
                            "tradeTime": "06/05/26",
                            "raw": {
                              "symbol": "AAPL",
                              "symbolName": "Apple Inc",
                              "lastPrice": 307.34,
                              "priceChange": -3.89,
                              "percentChange": -0.0125,
                              "tradeTime": 1780700100
                            }
                          },
                          {
                            "symbol": "MSFT",
                            "symbolName": "Microsoft Corp",
                            "lastPrice": "416.67",
                            "priceChange": "-11.38",
                            "percentChange": "-2.66%",
                            "tradeTime": "06/05/26",
                            "raw": {
                              "symbol": "MSFT",
                              "symbolName": "Microsoft Corp",
                              "lastPrice": 416.67,
                              "priceChange": -11.38,
                              "percentChange": -0.0266,
                              "tradeTime": 1780700100
                            }
                          }
                        ],
                        "errors": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.quotes.get",
        "operationId": "bfin_get_quotes",
        "description": "Returns snapshots with source-native price, change, volume, and instrument fields.",
        "tags": [
          "Quotes"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quotes?symbols=AAPL,MSFT",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:58.221Z"
      }
    },
    "/v1/calendar/earnings-dividends": {
      "get": {
        "summary": "Earnings and dividends",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_calendar_earnings_dividendsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.earnings-dividends.get",
                        "family": "calendar",
                        "cache": "hit",
                        "ttl_seconds": 1800,
                        "stale_seconds": 3600,
                        "generated_at": "2026-06-07T01:25:49.202Z",
                        "route": "calendar_earnings_dividends"
                      },
                      "data": {
                        "count": 45,
                        "total": 45,
                        "data": [
                          {
                            "symbol": "AGRO",
                            "symbolName": "Adecoagro S.A.",
                            "lastPrice": "11.42",
                            "priceChange": "-0.69",
                            "amount": "$0.121",
                            "yield": "2.12%",
                            "exDivDate": "05/04/26",
                            "payableDate": "05/19/26",
                            "raw": {
                              "symbol": "AGRO",
                              "symbolName": "Adecoagro S.A.",
                              "lastPrice": 11.42,
                              "priceChange": -0.69,
                              "amount": 0.121,
                              "yield": 2.12,
                              "exDivDate": "2026-05-04",
                              "payableDate": "2026-05-19"
                            }
                          },
                          {
                            "symbol": "AMP",
                            "symbolName": "Ameriprise Financial Services",
                            "lastPrice": "454.66",
                            "priceChange": "-0.43",
                            "amount": "$1.700",
                            "yield": "1.50%",
                            "exDivDate": "05/04/26",
                            "payableDate": "05/22/26",
                            "raw": {
                              "symbol": "AMP",
                              "symbolName": "Ameriprise Financial Services",
                              "lastPrice": 454.66,
                              "priceChange": -0.43,
                              "amount": 1.7,
                              "yield": 1.5,
                              "exDivDate": "2026-05-04",
                              "payableDate": "2026-05-22"
                            }
                          },
                          {
                            "symbol": "ASRV",
                            "symbolName": "Ameriserv Financial",
                            "lastPrice": "3.74",
                            "priceChange": "-0.04",
                            "amount": "$0.030",
                            "yield": "3.21%",
                            "exDivDate": "05/04/26",
                            "payableDate": "05/18/26",
                            "raw": {
                              "symbol": "ASRV",
                              "symbolName": "Ameriserv Financial",
                              "lastPrice": 3.74,
                              "priceChange": -0.04,
                              "amount": 0.03,
                              "yield": 3.21,
                              "exDivDate": "2026-05-04",
                              "payableDate": "2026-05-18"
                            }
                          }
                        ],
                        "meta": {
                          "field": {
                            "shortName": {
                              "symbol": "Symbol",
                              "symbolName": "Name",
                              "lastPrice": "Latest",
                              "priceChange": "Change",
                              "amount": "Dividend",
                              "yield": "Yield",
                              "exDivDate": "Ex-Div Date",
                              "payableDate": "Payable Date"
                            },
                            "type": {
                              "symbol": "string",
                              "symbolName": "string",
                              "lastPrice": "price",
                              "priceChange": "priceChange",
                              "amount": "float",
                              "yield": "percent",
                              "exDivDate": "date",
                              "payableDate": "date"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.earnings-dividends.get",
        "operationId": "bfin_get_calendar_earnings_dividends",
        "description": "Returns earnings and dividends with source-native dates, event fields, and pagination where available.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/calendar/earnings-dividends",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:58.587Z"
      }
    },
    "/v1/futures/hilo": {
      "get": {
        "summary": "Futures high/low",
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_futures_hiloResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "instrument-extensions.v1.futures.hilo",
                        "family": "futures",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:32:59.314Z",
                        "route": "futures_hilo"
                      },
                      "data": [
                        {
                          "symbol": "AAPL",
                          "hilo": null
                        },
                        {
                          "symbol": "MSFT",
                          "hilo": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "instrument-extensions.v1.futures.hilo",
        "operationId": "bfin_get_futures_hilo",
        "description": "Returns futures high/low with contract, root, settlement, or market fields from the upstream data shape.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/futures/hilo?symbols=AAPL%2CMSFT",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:32:59.593Z"
      }
    },
    "/v1/news/stories": {
      "get": {
        "summary": "Stories",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_news_storiesResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.news.stories",
                        "family": "news",
                        "cache": "miss",
                        "ttl_seconds": 300,
                        "stale_seconds": 1800,
                        "generated_at": "2026-06-07T01:33:00.093Z",
                        "route": "news_stories"
                      },
                      "data": {
                        "count": 1,
                        "total": 1,
                        "data": [
                          {
                            "symbol": "AAPL",
                            "articles": [
                              {
                                "id": "2341788",
                                "sequence": 0,
                                "title": "The Dow's Split Personality: Why Some Winners Soar While Others Drag Down the Dow",
                                "slug": "the-dow-s-split-personality-why-some-winners-soar-while-others-drag-down-the-dow",
                                "feed": "BCNEWS",
                                "originalFeed": "EXCLSV",
                                "feedName": "Barchart",
                                "author": "Rob Isbitts",
                                "authorUrl": null,
                                "authorBadge": null,
                                "authorImageUrl": null,
                                "source": "10866898",
                                "sourceFeed": "CONT2",
                                "media": "text",
                                "language": "en",
                                "external": false,
                                "url": null,
                                "published": "2026-06-06 17:00:02",
                                "publishedTime": "8 hours ago",
                                "updated": "2026-06-06 17:00:02 +0000",
                                "summary": "The oldest stock index in the world is suffering from a severe case of split personality. This internal friction has triggered a mechanical phenomenon, the likes of which I cannot recall, at least to this degree.",
                                "content": null,
                                "thumbnail": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Stocks%2C%20Markets%2C%20%26%20Global%20Economy/Charts%2C%20tickers%2C%20traders/3d%20illustration%20inflation%20and%20deflation%20graph%20by%20Deepadesigns%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 1067,
                                  "caption": "3d illustration inflation and deflation graph by Deepadesigns via Shutterstock"
                                },
                                "image": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Stocks%2C%20Markets%2C%20%26%20Global%20Economy/Charts%2C%20tickers%2C%20traders/3d%20illustration%20inflation%20and%20deflation%20graph%20by%20Deepadesigns%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 1067,
                                  "caption": "3d illustration inflation and deflation graph by Deepadesigns via Shutterstock"
                                },
                                "symbols": [
                                  "NVDA",
                                  "AAPL",
                                  "$NASX"
                                ],
                                "primarySymbol": null,
                                "categories": [
                                  "STK.FIN.ETF",
                                  "STK.EQY"
                                ],
                                "copyright": null,
                                "canonicalUrl": null,
                                "organizationUrl": null,
                                "organizationLogoUrl": null,
                                "originalId": "2341785",
                                "meta": null
                              },
                              {
                                "id": "2341489",
                                "sequence": 0,
                                "title": "Greg Abel is Writing Checks for Berkshire Hathaway in a Hurry. You Should Write One for BRK.B Stock.",
                                "slug": "greg-abel-is-writing-checks-for-berkshire-hathaway-in-a-hurry-you-should-write-one-for-brk-b-stock",
                                "feed": "BCNEWS",
                                "originalFeed": "EXCLSV",
                                "feedName": "Barchart",
                                "author": "Mohit Oberoi",
                                "authorUrl": null,
                                "authorBadge": null,
                                "authorImageUrl": null,
                                "source": "10855027",
                                "sourceFeed": "CONT2",
                                "media": "text",
                                "language": "en",
                                "external": false,
                                "url": null,
                                "published": "2026-06-06 16:00:02",
                                "publishedTime": "9 hours ago",
                                "updated": "2026-06-06 16:00:02 +0000",
                                "summary": "Berkshire Hathaway has announced investments worth $16.8 billion over the last few days, as CEO Greg Abel tries to put the conglomerate's massive cash pile to work. Is it time to buy BRK.B stock?",
                                "content": null,
                                "thumbnail": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Famous%20People/Image%20of%20Warren%20Buffett%20by%20Rokas%20Tenys%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 950,
                                  "caption": "Image of Warren Buffett by Rokas Tenys via Shutterstock"
                                },
                                "image": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Famous%20People/Image%20of%20Warren%20Buffett%20by%20Rokas%20Tenys%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 950,
                                  "caption": "Image of Warren Buffett by Rokas Tenys via Shutterstock"
                                },
                                "symbols": [
                                  "GOOG",
                                  "GOOGL",
                                  "AAPL"
                                ],
                                "primarySymbol": null,
                                "categories": [
                                  "STK.EQY"
                                ],
                                "copyright": null,
                                "canonicalUrl": null,
                                "organizationUrl": null,
                                "organizationLogoUrl": null,
                                "originalId": "2341486",
                                "meta": null
                              },
                              {
                                "id": "2340258",
                                "sequence": 0,
                                "title": "Hunting for the Next Nvidia Is No Easy Feat. Small-Cap Tech Stocks Promise Riches but Really Are Just Rags.",
                                "slug": "hunting-for-the-next-nvidia-is-no-easy-feat-small-cap-tech-stocks-promise-riches-but-really-are-just-rags",
                                "feed": "BCNEWS",
                                "originalFeed": "EXCLSV",
                                "feedName": "Barchart",
                                "author": "Rob Isbitts",
                                "authorUrl": null,
                                "authorBadge": null,
                                "authorImageUrl": null,
                                "source": "10867014",
                                "sourceFeed": "CONT2",
                                "media": "text",
                                "language": "en",
                                "external": false,
                                "url": null,
                                "published": "2026-06-06 15:00:02",
                                "publishedTime": "10 hours ago",
                                "updated": "2026-06-06 15:00:02 +0000",
                                "summary": "There is no such thing as a perfect basket of small-cap AI stocks.",
                                "content": null,
                                "thumbnail": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Tech%20(Ecommerce%2C%20Social%20Media%2C%20etc.)/AI%20(artificial%20intelligence)/Chat%20bot%20with%20AI%20Artificial%20Intelligence%20generate%20by%20MMD%20Creative%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 1067,
                                  "caption": "Chat bot with AI Artificial Intelligence generate by MMD Creative via Shutterstock"
                                },
                                "image": {
                                  "url": "https://media.barchart.com/contributors-admin/common-images/images/Tech%20(Ecommerce%2C%20Social%20Media%2C%20etc.)/AI%20(artificial%20intelligence)/Chat%20bot%20with%20AI%20Artificial%20Intelligence%20generate%20by%20MMD%20Creative%20via%20Shutterstock.jpg",
                                  "width": 1600,
                                  "height": 1067,
                                  "caption": "Chat bot with AI Artificial Intelligence generate by MMD Creative via Shutterstock"
                                },
                                "symbols": [
                                  "NVDA",
                                  "PSCT",
                                  "XITK"
                                ],
                                "primarySymbol": null,
                                "categories": [
                                  "STK.FIN.ETF",
                                  "STK.EQY"
                                ],
                                "copyright": null,
                                "canonicalUrl": null,
                                "organizationUrl": null,
                                "organizationLogoUrl": null,
                                "originalId": "2340255",
                                "meta": null
                              }
                            ],
                            "raw": {
                              "symbol": "AAPL",
                              "articles": [
                                {
                                  "id": "2341788",
                                  "sequence": 0,
                                  "title": "The Dow's Split Personality: Why Some Winners Soar While Others Drag Down the Dow",
                                  "slug": "the-dow-s-split-personality-why-some-winners-soar-while-others-drag-down-the-dow",
                                  "feed": "BCNEWS",
                                  "originalFeed": "EXCLSV",
                                  "feedName": "Barchart",
                                  "author": "Rob Isbitts",
                                  "authorUrl": null,
                                  "authorBadge": null,
                                  "authorImageUrl": null,
                                  "source": "10866898",
                                  "sourceFeed": "CONT2",
                                  "media": "text",
                                  "language": "en",
                                  "external": false,
                                  "url": null,
                                  "published": "2026-06-06 17:00:02",
                                  "publishedTime": "8 hours ago",
                                  "updated": "2026-06-06 17:00:02 +0000",
                                  "summary": "The oldest stock index in the world is suffering from a severe case of split personality. This internal friction has triggered a mechanical phenomenon, the likes of which I cannot recall, at least to this degree.",
                                  "content": null,
                                  "thumbnail": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Stocks%2C%20Markets%2C%20%26%20Global%20Economy/Charts%2C%20tickers%2C%20traders/3d%20illustration%20inflation%20and%20deflation%20graph%20by%20Deepadesigns%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 1067,
                                    "caption": "3d illustration inflation and deflation graph by Deepadesigns via Shutterstock"
                                  },
                                  "image": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Stocks%2C%20Markets%2C%20%26%20Global%20Economy/Charts%2C%20tickers%2C%20traders/3d%20illustration%20inflation%20and%20deflation%20graph%20by%20Deepadesigns%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 1067,
                                    "caption": "3d illustration inflation and deflation graph by Deepadesigns via Shutterstock"
                                  },
                                  "symbols": [
                                    "NVDA",
                                    "AAPL",
                                    "$NASX"
                                  ],
                                  "primarySymbol": null,
                                  "categories": [
                                    "STK.FIN.ETF",
                                    "STK.EQY"
                                  ],
                                  "copyright": null,
                                  "canonicalUrl": null,
                                  "organizationUrl": null,
                                  "organizationLogoUrl": null,
                                  "originalId": "2341785",
                                  "meta": null
                                },
                                {
                                  "id": "2341489",
                                  "sequence": 0,
                                  "title": "Greg Abel is Writing Checks for Berkshire Hathaway in a Hurry. You Should Write One for BRK.B Stock.",
                                  "slug": "greg-abel-is-writing-checks-for-berkshire-hathaway-in-a-hurry-you-should-write-one-for-brk-b-stock",
                                  "feed": "BCNEWS",
                                  "originalFeed": "EXCLSV",
                                  "feedName": "Barchart",
                                  "author": "Mohit Oberoi",
                                  "authorUrl": null,
                                  "authorBadge": null,
                                  "authorImageUrl": null,
                                  "source": "10855027",
                                  "sourceFeed": "CONT2",
                                  "media": "text",
                                  "language": "en",
                                  "external": false,
                                  "url": null,
                                  "published": "2026-06-06 16:00:02",
                                  "publishedTime": "9 hours ago",
                                  "updated": "2026-06-06 16:00:02 +0000",
                                  "summary": "Berkshire Hathaway has announced investments worth $16.8 billion over the last few days, as CEO Greg Abel tries to put the conglomerate's massive cash pile to work. Is it time to buy BRK.B stock?",
                                  "content": null,
                                  "thumbnail": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Famous%20People/Image%20of%20Warren%20Buffett%20by%20Rokas%20Tenys%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 950,
                                    "caption": "Image of Warren Buffett by Rokas Tenys via Shutterstock"
                                  },
                                  "image": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Famous%20People/Image%20of%20Warren%20Buffett%20by%20Rokas%20Tenys%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 950,
                                    "caption": "Image of Warren Buffett by Rokas Tenys via Shutterstock"
                                  },
                                  "symbols": [
                                    "GOOG",
                                    "GOOGL",
                                    "AAPL"
                                  ],
                                  "primarySymbol": null,
                                  "categories": [
                                    "STK.EQY"
                                  ],
                                  "copyright": null,
                                  "canonicalUrl": null,
                                  "organizationUrl": null,
                                  "organizationLogoUrl": null,
                                  "originalId": "2341486",
                                  "meta": null
                                },
                                {
                                  "id": "2340258",
                                  "sequence": 0,
                                  "title": "Hunting for the Next Nvidia Is No Easy Feat. Small-Cap Tech Stocks Promise Riches but Really Are Just Rags.",
                                  "slug": "hunting-for-the-next-nvidia-is-no-easy-feat-small-cap-tech-stocks-promise-riches-but-really-are-just-rags",
                                  "feed": "BCNEWS",
                                  "originalFeed": "EXCLSV",
                                  "feedName": "Barchart",
                                  "author": "Rob Isbitts",
                                  "authorUrl": null,
                                  "authorBadge": null,
                                  "authorImageUrl": null,
                                  "source": "10867014",
                                  "sourceFeed": "CONT2",
                                  "media": "text",
                                  "language": "en",
                                  "external": false,
                                  "url": null,
                                  "published": "2026-06-06 15:00:02",
                                  "publishedTime": "10 hours ago",
                                  "updated": "2026-06-06 15:00:02 +0000",
                                  "summary": "There is no such thing as a perfect basket of small-cap AI stocks.",
                                  "content": null,
                                  "thumbnail": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Tech%20(Ecommerce%2C%20Social%20Media%2C%20etc.)/AI%20(artificial%20intelligence)/Chat%20bot%20with%20AI%20Artificial%20Intelligence%20generate%20by%20MMD%20Creative%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 1067,
                                    "caption": "Chat bot with AI Artificial Intelligence generate by MMD Creative via Shutterstock"
                                  },
                                  "image": {
                                    "url": "https://media.barchart.com/contributors-admin/common-images/images/Tech%20(Ecommerce%2C%20Social%20Media%2C%20etc.)/AI%20(artificial%20intelligence)/Chat%20bot%20with%20AI%20Artificial%20Intelligence%20generate%20by%20MMD%20Creative%20via%20Shutterstock.jpg",
                                    "width": 1600,
                                    "height": 1067,
                                    "caption": "Chat bot with AI Artificial Intelligence generate by MMD Creative via Shutterstock"
                                  },
                                  "symbols": [
                                    "NVDA",
                                    "PSCT",
                                    "XITK"
                                  ],
                                  "primarySymbol": null,
                                  "categories": [
                                    "STK.FIN.ETF",
                                    "STK.EQY"
                                  ],
                                  "copyright": null,
                                  "canonicalUrl": null,
                                  "organizationUrl": null,
                                  "organizationLogoUrl": null,
                                  "originalId": "2340255",
                                  "meta": null
                                }
                              ]
                            },
                            "symbolInfo": {
                              "symbol": "AAPL",
                              "symbolName": "Apple Inc",
                              "symbolType": 1,
                              "symbolCode": "STK"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.news.stories",
        "operationId": "bfin_get_news_stories",
        "description": "Returns stories with headline, timestamp, symbol, and source fields where available.",
        "tags": [
          "News"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/news/stories",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:00.352Z"
      }
    },
    "/v1/news/story": {
      "get": {
        "summary": "Story",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_news_storyResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.news.story",
                        "family": "news",
                        "cache": "miss",
                        "ttl_seconds": 300,
                        "stale_seconds": 1800,
                        "generated_at": "2026-06-07T01:33:00.836Z",
                        "route": "news_story"
                      },
                      "data": {
                        "count": 1,
                        "total": 3,
                        "data": [
                          {
                            "id": "1673534",
                            "title": "Jobs, Earnings and Other Key Things to Watch this Week",
                            "content": "<p>Markets enter a big week following last week's Federal Reserve meeting and mega-cap technology earnings convergence, with focus now shifting to Friday's April jobs report at 8:30am that will provide insights into labor market health amid geopolitical uncertainties and energy-driven economic pressures. </p><p>The emp...",
                            "canonicalUrl": "https://www.barchart.com/story/news/1673534/jobs-earnings-and-other-key-things-to-watch-this-week",
                            "raw": {
                              "id": "1673534",
                              "title": "Jobs, Earnings and Other Key Things to Watch this Week",
                              "content": "<p>Markets enter a big week following last week's Federal Reserve meeting and mega-cap technology earnings convergence, with focus now shifting to Friday's April jobs report at 8:30am that will provide insights into labor market health amid geopolitical uncertainties and energy-driven economic pressures. </p><p>The emp...",
                              "canonicalUrl": "https://www.barchart.com/story/news/1673534/jobs-earnings-and-other-key-things-to-watch-this-week"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.news.story",
        "operationId": "bfin_get_news_story",
        "description": "Returns story with headline, timestamp, symbol, and source fields where available.",
        "tags": [
          "News"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/news/story",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:01.082Z"
      }
    },
    "/v1/options/flow": {
      "get": {
        "summary": "Flow",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "AAPL",
            "description": "Query parameter `symbol`."
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_options_flowResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options.flow",
                        "family": "options-flow",
                        "cache": "miss",
                        "ttl_seconds": 30,
                        "stale_seconds": 300,
                        "generated_at": "2026-06-07T01:33:01.632Z",
                        "route": "options_flow"
                      },
                      "data": {
                        "count": 20,
                        "total": 200,
                        "data": [
                          {
                            "symbol": "AAPL|20260618|300.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "06/18/26",
                            "strikePrice": "300.00",
                            "volume": "11,615",
                            "openInterest": "36,296",
                            "lastPrice": "309.74",
                            "tradeTime": "06/05/26 14:49:31",
                            "raw": {
                              "symbol": "AAPL|20260618|300.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-06-18T16:30:00-05:00",
                              "strikePrice": 300,
                              "volume": 11615,
                              "openInterest": 36296,
                              "lastPrice": 309.74,
                              "tradeTime": 1780685371
                            }
                          },
                          {
                            "symbol": "AAPL|20260918|265.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "09/18/26",
                            "strikePrice": "265.00",
                            "volume": "1,051",
                            "openInterest": "5,539",
                            "lastPrice": "313.42",
                            "tradeTime": "06/05/26 09:32:44",
                            "raw": {
                              "symbol": "AAPL|20260918|265.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-09-18T16:30:00-05:00",
                              "strikePrice": 265,
                              "volume": 1051,
                              "openInterest": 5539,
                              "lastPrice": 313.42,
                              "tradeTime": 1780666364
                            }
                          },
                          {
                            "symbol": "AAPL|20260918|265.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "09/18/26",
                            "strikePrice": "265.00",
                            "volume": "2,052",
                            "openInterest": "5,539",
                            "lastPrice": "313.83",
                            "tradeTime": "06/05/26 09:40:45",
                            "raw": {
                              "symbol": "AAPL|20260918|265.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-09-18T16:30:00-05:00",
                              "strikePrice": 265,
                              "volume": 2052,
                              "openInterest": 5539,
                              "lastPrice": 313.83,
                              "tradeTime": 1780666845
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options.flow",
        "operationId": "bfin_get_options_flow",
        "description": "Returns flow with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/options/flow?symbol=AAPL",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:01.918Z"
      }
    },
    "/v1/raw/{endpointId}": {
      "get": {
        "summary": "Raw endpoint",
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_raw_endpointidResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "instruments-prod.exchanges",
                        "family": "exchanges",
                        "cache": "hit",
                        "ttl_seconds": 86400,
                        "stale_seconds": 86400,
                        "generated_at": "2026-06-07T00:11:46.773Z",
                        "route": "exchanges"
                      },
                      "data": [
                        {
                          "id": "AGC_PRICES",
                          "display": "AGC_PRICES",
                          "description": "Black Sea Grain Prices",
                          "frequency": 1,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Cash Prices"
                        },
                        {
                          "id": "AGIDX_B_COU",
                          "display": "AG IDX Cou Basis",
                          "description": "AG Index Basis (County)",
                          "frequency": 13,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Indexes"
                        },
                        {
                          "id": "AGIDX_B_CRD",
                          "display": "AG IDX CRD Basis",
                          "description": "AG Index Basis (Crop Reporting District)",
                          "frequency": 13,
                          "delay": 15,
                          "timezoneLocal": "America/Chicago",
                          "timezoneDdf": "America/Chicago",
                          "category": "Indexes"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "bfin_get_raw_endpointid",
        "description": "Returns raw endpoint with source-native fields and identifiers.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/raw/instruments-prod.exchanges",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:02.158Z"
      }
    },
    "/v1/strategies/top": {
      "get": {
        "summary": "Top strategies",
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_strategies_topResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.trading-strategies.top",
                        "family": "strategies",
                        "cache": "hit",
                        "ttl_seconds": 600,
                        "stale_seconds": 1800,
                        "generated_at": "2026-06-07T01:25:57.394Z",
                        "route": "strategies_top"
                      },
                      "data": {
                        "count": 10,
                        "total": 222,
                        "data": [
                          {
                            "symbol": "AAPL",
                            "signalName": "50-150 Day MA Crossover",
                            "entryDate": "05/19/26",
                            "entryPrice": "298.97",
                            "lastPrice": "307.34",
                            "priceChange": "-3.89",
                            "percentChange": "+447.64%",
                            "raw": {
                              "symbol": "AAPL",
                              "signalName": "50-150 Day MA Crossover",
                              "entryDate": "2026-05-19",
                              "entryPrice": 298.97,
                              "lastPrice": 307.34,
                              "priceChange": -3.89,
                              "percentChange": 4.4764
                            }
                          },
                          {
                            "symbol": "AAPL",
                            "signalName": "50-100 Day MA Crossover",
                            "entryDate": "05/14/26",
                            "entryPrice": "298.21",
                            "lastPrice": "307.34",
                            "priceChange": "-3.89",
                            "percentChange": "+432.90%",
                            "raw": {
                              "symbol": "AAPL",
                              "signalName": "50-100 Day MA Crossover",
                              "entryDate": "2026-05-14",
                              "entryPrice": 298.21,
                              "lastPrice": 307.34,
                              "priceChange": -3.89,
                              "percentChange": 4.329
                            }
                          },
                          {
                            "symbol": "AAPL",
                            "signalName": "20-100 Day MA Crossover",
                            "entryDate": "04/29/26",
                            "entryPrice": "270.17",
                            "lastPrice": "307.34",
                            "priceChange": "-3.89",
                            "percentChange": "+380.24%",
                            "raw": {
                              "symbol": "AAPL",
                              "signalName": "20-100 Day MA Crossover",
                              "entryDate": "2026-04-29",
                              "entryPrice": 270.17,
                              "lastPrice": 307.34,
                              "priceChange": -3.89,
                              "percentChange": 3.8024
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.trading-strategies.top",
        "operationId": "bfin_get_strategies_top",
        "description": "Returns top strategies with source-native fields and identifiers.",
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/strategies/top",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:02.516Z"
      }
    },
    "/v1/options/strategies/{strategy_slug}": {
      "get": {
        "summary": "Strategy screen",
        "parameters": [
          {
            "name": "strategy_slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_options_strategies_strategy_slugResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options.<strategy_slug>",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:05.963Z",
                        "route": "options_strategy"
                      },
                      "data": {
                        "count": 10,
                        "total": 215519,
                        "data": [
                          {
                            "symbol": "$DJX|20260618|505.00C",
                            "baseSymbol": "$DJX",
                            "baseLastPrice": "5.08",
                            "expirationDate": "06/18/26",
                            "daysToExpiration": "12",
                            "strike": "505.00C",
                            "breakEvenBid": "1.08",
                            "percentToBreakEvenBid": "-78.74%",
                            "potentialReturn": "46,659.3%",
                            "flatAnnual": "11,265.4%",
                            "raw": {
                              "symbol": "$DJX|20260618|505.00C",
                              "baseSymbol": "$DJX",
                              "baseLastPrice": 5.08,
                              "expirationDate": "2026-06-18",
                              "daysToExpiration": 12,
                              "strike": 505,
                              "breakEvenBid": 1.08,
                              "percentToBreakEvenBid": -78.740157480315,
                              "potentialReturn": 466.593,
                              "flatAnnual": 112.654
                            }
                          },
                          {
                            "symbol": "^USDCAD|20260717|138.50C",
                            "baseSymbol": "^USDCAD",
                            "baseLastPrice": "1.39407",
                            "expirationDate": "07/17/26",
                            "daysToExpiration": "42",
                            "strike": "138.50C",
                            "breakEvenBid": "0.27407",
                            "percentToBreakEvenBid": "-80.34%",
                            "potentialReturn": "50,434.5%",
                            "flatAnnual": "3,551.4%",
                            "raw": {
                              "symbol": "^USDCAD|20260717|138.50C",
                              "baseSymbol": "^USDCAD",
                              "baseLastPrice": 1.39407,
                              "expirationDate": "2026-07-17",
                              "daysToExpiration": 42,
                              "strike": 138.5,
                              "breakEvenBid": 0.27407,
                              "percentToBreakEvenBid": -80.340298550288,
                              "potentialReturn": 504.345,
                              "flatAnnual": 35.514
                            }
                          },
                          {
                            "symbol": "$DJX|20260612|520.00C",
                            "baseSymbol": "$DJX",
                            "baseLastPrice": "5.08",
                            "expirationDate": "06/12/26",
                            "daysToExpiration": "6",
                            "strike": "520.00C",
                            "breakEvenBid": "4.18",
                            "percentToBreakEvenBid": "-17.72%",
                            "potentialReturn": "12,340.2%",
                            "flatAnnual": "1,309.8%",
                            "raw": {
                              "symbol": "$DJX|20260612|520.00C",
                              "baseSymbol": "$DJX",
                              "baseLastPrice": 5.08,
                              "expirationDate": "2026-06-12",
                              "daysToExpiration": 6,
                              "strike": 520,
                              "breakEvenBid": 4.18,
                              "percentToBreakEvenBid": -17.716535433071,
                              "potentialReturn": 123.402,
                              "flatAnnual": 13.0981
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options.<strategy_slug>",
        "operationId": "bfin_get_options_strategies_strategy_slug",
        "description": "Returns strategy screen with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/options/strategies/covered-calls",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:06.205Z"
      }
    },
    "/v1/quote/{symbol}/corporate-actions": {
      "get": {
        "summary": "Corporate actions",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_corporate_actionsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.corporateActions",
                        "family": "corporate-actions",
                        "cache": "hit",
                        "ttl_seconds": 1800,
                        "stale_seconds": 3600,
                        "generated_at": "2026-06-07T01:26:01.787Z",
                        "route": "quote_corporate_actions"
                      },
                      "data": {
                        "count": 211,
                        "total": 3,
                        "data": [
                          {
                            "eventType": "Dividend",
                            "raw": {
                              "eventType": "Dividend"
                            }
                          },
                          {
                            "eventType": "Split",
                            "raw": {
                              "eventType": "Split"
                            }
                          },
                          {
                            "eventType": "Dividend",
                            "raw": {
                              "eventType": "Dividend"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.corporateActions",
        "operationId": "bfin_get_quote_symbol_corporate_actions",
        "description": "Returns corporate actions with source-native price, change, volume, and instrument fields.",
        "tags": [
          "Quotes"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/corporate-actions",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:06.569Z"
      }
    },
    "/v1/quote/{symbol}/historical": {
      "get": {
        "summary": "Historical bars",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_historicalResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.historical.get",
                        "family": "history",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:07.140Z",
                        "route": "quote_historical"
                      },
                      "data": {
                        "count": 30,
                        "total": 3,
                        "data": [
                          {
                            "tradeTime": "06/05/26 00:00:00",
                            "openPrice": "312.86",
                            "highPrice": "315.17",
                            "lowPrice": "307.15",
                            "lastPrice": "307.34",
                            "volume": "65,310,500",
                            "raw": {
                              "tradeTime": "2026-06-05",
                              "openPrice": 312.86,
                              "highPrice": 315.17,
                              "lowPrice": 307.15,
                              "lastPrice": 307.34,
                              "volume": 65310500
                            }
                          },
                          {
                            "tradeTime": "06/04/26 00:00:00",
                            "openPrice": "313.23",
                            "highPrice": "313.54",
                            "lowPrice": "309.65",
                            "lastPrice": "311.23",
                            "volume": "44,869,100",
                            "raw": {
                              "tradeTime": "2026-06-04",
                              "openPrice": 313.23,
                              "highPrice": 313.54,
                              "lowPrice": 309.65,
                              "lastPrice": 311.23,
                              "volume": 44869100
                            }
                          },
                          {
                            "tradeTime": "06/03/26 00:00:00",
                            "openPrice": "314.17",
                            "highPrice": "316.94",
                            "lowPrice": "308.85",
                            "lastPrice": "310.26",
                            "volume": "50,836,700",
                            "raw": {
                              "tradeTime": "2026-06-03",
                              "openPrice": 314.17,
                              "highPrice": 316.94,
                              "lowPrice": 308.85,
                              "lastPrice": 310.26,
                              "volume": 50836700
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.historical.get",
        "operationId": "bfin_get_quote_symbol_historical",
        "description": "Returns historical bars with source-native price, change, volume, and instrument fields.",
        "tags": [
          "Quotes"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/historical",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:07.386Z"
      }
    },
    "/v1/quote/{symbol}/historical-volatility": {
      "get": {
        "summary": "Historical volatility",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_historical_volatilityResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.historical-volatility",
                        "family": "history",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:07.920Z",
                        "route": "quote_historical_volatility"
                      },
                      "data": {
                        "count": 30,
                        "total": 3,
                        "data": [
                          {
                            "volatility": "N/A",
                            "tradeTime": "2026-04-24",
                            "raw": {
                              "volatility": null,
                              "tradeTime": "2026-04-24"
                            }
                          },
                          {
                            "volatility": "0.00",
                            "tradeTime": "2026-04-27",
                            "raw": {
                              "volatility": 0,
                              "tradeTime": "2026-04-27"
                            }
                          },
                          {
                            "volatility": "0.00",
                            "tradeTime": "2026-04-28",
                            "raw": {
                              "volatility": 0,
                              "tradeTime": "2026-04-28"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.historical-volatility",
        "operationId": "bfin_get_quote_symbol_historical_volatility",
        "description": "Returns historical volatility with source-native price, change, volume, and instrument fields.",
        "tags": [
          "Quotes"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/historical-volatility",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:08.207Z"
      }
    },
    "/v1/quote/{symbol}/intraday": {
      "get": {
        "summary": "Intraday bars",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_intradayResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.timeseries.historical.queryminutes_ashx",
                        "family": "history",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:08.715Z",
                        "route": "quote_intraday"
                      },
                      "data": "2026-05-01 09:30,1,278.855,281.75,278.37,281.4,2663170\n2026-05-01 09:31,1,281.4,282.77,280.525,281.075,1196060\n2026-05-01 09:32,1,281.055,283.25,280.85,283.02,958440\n2026-05-01 09:33,1,283,283.75,282.17,282.39,771027\n2026-05-01 09:34,1,282.43,282.82,280.61,280.75,568303\n2026-05-01 09:35,1,280.68,281.38,279.75,279.96,55..."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.timeseries.historical.queryminutes_ashx",
        "operationId": "bfin_get_quote_symbol_intraday",
        "description": "Returns intraday bars with source-native price, change, volume, and instrument fields.",
        "tags": [
          "Quotes"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/intraday",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:08.986Z"
      }
    },
    "/v1/quote/{symbol}/options": {
      "get": {
        "summary": "Summary",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_optionsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options.get",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:09.560Z",
                        "route": "options_get"
                      },
                      "data": {
                        "count": 20,
                        "total": 3546,
                        "data": [
                          {
                            "symbol": "AAPL|20280121|5.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "01/21/28",
                            "strikePrice": "5.00",
                            "optionType": "Call",
                            "bidPrice": "300.75",
                            "askPrice": "304.70",
                            "lastPrice": "0.00",
                            "volume": "0",
                            "openInterest": "21",
                            "volatility": "180.36%",
                            "delta": "0.9975",
                            "raw": {
                              "symbol": "AAPL|20280121|5.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2028-01-21",
                              "strikePrice": 5,
                              "optionType": "Call",
                              "bidPrice": 300.75,
                              "askPrice": 304.7,
                              "lastPrice": 0,
                              "volume": 0,
                              "openInterest": 21,
                              "volatility": 1.8036,
                              "delta": 0.997511
                            }
                          },
                          {
                            "symbol": "AAPL|20271217|5.00P",
                            "baseSymbol": "AAPL",
                            "expirationDate": "12/17/27",
                            "strikePrice": "5.00",
                            "optionType": "Put",
                            "bidPrice": "0.00",
                            "askPrice": "0.35",
                            "lastPrice": "0.00",
                            "volume": "0",
                            "openInterest": "41",
                            "volatility": "145.73%",
                            "delta": "-0.0007",
                            "raw": {
                              "symbol": "AAPL|20271217|5.00P",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2027-12-17",
                              "strikePrice": 5,
                              "optionType": "Put",
                              "bidPrice": 0,
                              "askPrice": 0.35,
                              "lastPrice": 0,
                              "volume": 0,
                              "openInterest": 41,
                              "volatility": 1.4573,
                              "delta": -0.000654
                            }
                          },
                          {
                            "symbol": "AAPL|20270617|5.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "06/17/27",
                            "strikePrice": "5.00",
                            "optionType": "Call",
                            "bidPrice": "300.75",
                            "askPrice": "304.65",
                            "lastPrice": "0.00",
                            "volume": "0",
                            "openInterest": "1",
                            "volatility": "216.41%",
                            "delta": "0.9979",
                            "raw": {
                              "symbol": "AAPL|20270617|5.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2027-06-17",
                              "strikePrice": 5,
                              "optionType": "Call",
                              "bidPrice": 300.75,
                              "askPrice": 304.65,
                              "lastPrice": 0,
                              "volume": 0,
                              "openInterest": 1,
                              "volatility": 2.1641,
                              "delta": 0.997942
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options.get",
        "operationId": "bfin_get_quote_symbol_options",
        "description": "Returns summary with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/options",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:09.811Z"
      }
    },
    "/v1/quote/{symbol}/options/chain": {
      "get": {
        "summary": "Chain",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_options_chainResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options.chain",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:11.999Z",
                        "route": "options_chain"
                      },
                      "data": {
                        "count": 72,
                        "total": 3,
                        "data": [
                          {
                            "symbol": "AAPL|20260608|250.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "06/08/26",
                            "strikePrice": "250.00",
                            "optionType": "Call",
                            "bidPrice": "55.65",
                            "askPrice": "59.55",
                            "lastPrice": "N/A",
                            "volume": "N/A",
                            "openInterest": "1",
                            "raw": {
                              "symbol": "AAPL|20260608|250.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-06-08",
                              "strikePrice": 250,
                              "optionType": "Call",
                              "bidPrice": 55.65,
                              "askPrice": 59.55,
                              "lastPrice": 0,
                              "volume": null,
                              "openInterest": 1
                            }
                          },
                          {
                            "symbol": "AAPL|20260608|255.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "06/08/26",
                            "strikePrice": "255.00",
                            "optionType": "Call",
                            "bidPrice": "50.70",
                            "askPrice": "54.55",
                            "lastPrice": "N/A",
                            "volume": "N/A",
                            "openInterest": "2",
                            "raw": {
                              "symbol": "AAPL|20260608|255.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-06-08",
                              "strikePrice": 255,
                              "optionType": "Call",
                              "bidPrice": 50.7,
                              "askPrice": 54.55,
                              "lastPrice": 0,
                              "volume": null,
                              "openInterest": 2
                            }
                          },
                          {
                            "symbol": "AAPL|20260608|260.00C",
                            "baseSymbol": "AAPL",
                            "expirationDate": "06/08/26",
                            "strikePrice": "260.00",
                            "optionType": "Call",
                            "bidPrice": "45.70",
                            "askPrice": "49.55",
                            "lastPrice": "53.85",
                            "volume": "3",
                            "openInterest": "3",
                            "raw": {
                              "symbol": "AAPL|20260608|260.00C",
                              "baseSymbol": "AAPL",
                              "expirationDate": "2026-06-08",
                              "strikePrice": 260,
                              "optionType": "Call",
                              "bidPrice": 45.7,
                              "askPrice": 49.55,
                              "lastPrice": 53.85,
                              "volume": 3,
                              "openInterest": 3
                            }
                          }
                        ],
                        "meta": {
                          "expirations": [
                            "2026-06-08",
                            "2026-06-10",
                            "2026-06-12"
                          ],
                          "isMonthly": {
                            "2026-06-08": false,
                            "2026-06-10": false,
                            "2026-06-12": false,
                            "2026-06-15": false,
                            "2026-06-17": false,
                            "2026-06-18": true,
                            "2026-06-26": false,
                            "2026-07-02": false,
                            "2026-07-10": false,
                            "2026-07-17": true,
                            "2026-07-24": false,
                            "2026-08-21": true,
                            "2026-09-18": true,
                            "2026-10-16": true,
                            "2026-11-20": true,
                            "2026-12-18": true,
                            "2027-01-15": true,
                            "2027-02-19": true,
                            "2027-03-19": true,
                            "2027-06-17": true,
                            "2027-09-17": true,
                            "2027-12-17": true,
                            "2028-01-21": true,
                            "2028-03-17": true,
                            "2028-12-15": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options.chain",
        "operationId": "bfin_get_quote_symbol_options_chain",
        "description": "Returns chain with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/options/chain",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:12.304Z"
      }
    },
    "/v1/quote/{symbol}/options/delta": {
      "get": {
        "summary": "Delta buckets",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_options_deltaResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options.delta.get",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:12.913Z",
                        "route": "options_delta"
                      },
                      "data": {
                        "count": 1,
                        "data": {
                          "2026-05-04": [
                            {
                              "date": "2026-05-04",
                              "delta50_both": 0.097858184568934,
                              "expiration": "2026-05-04"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options.delta.get",
        "operationId": "bfin_get_quote_symbol_options_delta",
        "description": "Returns delta buckets with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/options/delta",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:13.184Z"
      }
    },
    "/v1/quote/{symbol}/options/expirations": {
      "get": {
        "summary": "Expirations",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_options_expirationsResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options-expirations.get",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:13.819Z",
                        "route": "options_expirations"
                      },
                      "data": {
                        "count": 25,
                        "total": 25,
                        "data": [
                          {
                            "expirationDate": "06/08/26",
                            "expirationType": "weekly",
                            "daysToExpiration": "2",
                            "underlyingLastPrice": "307.34",
                            "impliedMove": "5.75",
                            "impliedMovePercent": "1.87%",
                            "raw": {
                              "expirationDate": "2026-06-08",
                              "expirationType": "weekly",
                              "daysToExpiration": 2,
                              "underlyingLastPrice": 307.34,
                              "impliedMove": 5.746,
                              "impliedMovePercent": 0.0187
                            }
                          },
                          {
                            "expirationDate": "06/10/26",
                            "expirationType": "weekly",
                            "daysToExpiration": "4",
                            "underlyingLastPrice": "307.34",
                            "impliedMove": "7.88",
                            "impliedMovePercent": "2.56%",
                            "raw": {
                              "expirationDate": "2026-06-10",
                              "expirationType": "weekly",
                              "daysToExpiration": 4,
                              "underlyingLastPrice": 307.34,
                              "impliedMove": 7.8795,
                              "impliedMovePercent": 0.0256
                            }
                          },
                          {
                            "expirationDate": "06/12/26",
                            "expirationType": "weekly",
                            "daysToExpiration": "6",
                            "underlyingLastPrice": "307.34",
                            "impliedMove": "8.97",
                            "impliedMovePercent": "2.92%",
                            "raw": {
                              "expirationDate": "2026-06-12",
                              "expirationType": "weekly",
                              "daysToExpiration": 6,
                              "underlyingLastPrice": 307.34,
                              "impliedMove": 8.9675,
                              "impliedMovePercent": 0.0292
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options-expirations.get",
        "operationId": "bfin_get_quote_symbol_options_expirations",
        "description": "Returns expirations with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/options/expirations",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:14.091Z"
      }
    },
    "/v1/quote/{symbol}/options/historical": {
      "get": {
        "summary": "Historical chain",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "x-bfin-contact",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "email"
            },
            "description": "Optional contact email for higher public rate limits and support diagnostics."
          },
          {
            "name": "authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Bearer <key>"
            },
            "description": "Optional API-key authorization for higher-volume access tiers."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bfin_get_quote_symbol_options_historicalResponse"
                },
                "examples": {
                  "live": {
                    "summary": "Live response",
                    "value": {
                      "meta": {
                        "provider": "barchart",
                        "endpoint": "www.proxies.core-api.v1.options-historical.get",
                        "family": "options",
                        "cache": "miss",
                        "ttl_seconds": 60,
                        "stale_seconds": 600,
                        "generated_at": "2026-06-07T01:33:14.694Z",
                        "route": "options_historical"
                      },
                      "data": {
                        "count": 30,
                        "total": 1927,
                        "data": [
                          {
                            "impliedVolatilityRank1y": "52.87%",
                            "impliedVolatilityPercentile1y": "47%",
                            "totalVolume": "1,872,274",
                            "totalOpenInterest": "5,271,199",
                            "historicalLastPrice": "307.34",
                            "date": "2026-06-05",
                            "raw": {
                              "impliedVolatilityRank1y": 52.868558646152,
                              "impliedVolatilityPercentile1y": 0.46613545816733,
                              "totalVolume": 1872274,
                              "totalOpenInterest": 5271199,
                              "historicalLastPrice": 307.34,
                              "date": "2026-06-05"
                            }
                          },
                          {
                            "impliedVolatilityRank1y": "41.68%",
                            "impliedVolatilityPercentile1y": "29%",
                            "totalVolume": "634,253",
                            "totalOpenInterest": "5,168,723",
                            "historicalLastPrice": "311.23",
                            "date": "2026-06-04",
                            "raw": {
                              "impliedVolatilityRank1y": 41.684743111255,
                              "impliedVolatilityPercentile1y": 0.28685258964143,
                              "totalVolume": 634253,
                              "totalOpenInterest": 5168723,
                              "historicalLastPrice": 311.23,
                              "date": "2026-06-04"
                            }
                          },
                          {
                            "impliedVolatilityRank1y": "47.36%",
                            "impliedVolatilityPercentile1y": "41%",
                            "totalVolume": "1,389,978",
                            "totalOpenInterest": "5,175,109",
                            "historicalLastPrice": "310.26",
                            "date": "2026-06-03",
                            "raw": {
                              "impliedVolatilityRank1y": 47.359941727978,
                              "impliedVolatilityPercentile1y": 0.41434262948207,
                              "totalVolume": 1389978,
                              "totalOpenInterest": 5175109,
                              "historicalLastPrice": 310.26,
                              "date": "2026-06-03"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request. A required parameter is missing, malformed, or outside the supported range.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 400 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "bad_request",
                        "message": "Required query parameter is missing or invalid."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. API-key authenticated tiers use an Authorization bearer token.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 401 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "unauthorized",
                        "message": "A valid API key is required for this tier."
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found. The requested route, resource, or symbol could not be resolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 404 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "not_found",
                        "message": "The requested resource was not found."
                      }
                    }
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 405 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "method_not_allowed",
                        "message": "This route does not support the requested HTTP method."
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limited. Retry after the limit reset or include the documented contact/API-key headers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 429 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "rate_limited",
                        "message": "Too many requests. Retry after the rate-limit reset."
                      }
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Upstream source error. The source service rejected or failed the upstream request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 502 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_error",
                        "message": "The upstream source returned an error."
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable. The source API or an upstream dependency is temporarily unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 503 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "service_unavailable",
                        "message": "The service is temporarily unavailable."
                      }
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Upstream timeout. The upstream source did not return within the source API timeout window.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                },
                "examples": {
                  "default": {
                    "summary": "HTTP 504 error",
                    "value": {
                      "ok": false,
                      "error": {
                        "code": "upstream_timeout",
                        "message": "The upstream source timed out."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-bfin-endpoint-id": "www.proxies.core-api.v1.options-historical.get",
        "operationId": "bfin_get_quote_symbol_options_historical",
        "description": "Returns historical chain with contract, chain, volume, open-interest, or strategy fields where available.",
        "tags": [
          "Options"
        ],
        "x-source-api": "bfin",
        "x-source-name": "Barchart.com",
        "x-source-upstream": "barchart.com",
        "x-docs-example-url": "https://api.bfin.bluedoor.sh/v1/quote/AAPL/options/historical",
        "x-docs-example-status": 200,
        "x-docs-captured-at": "2026-06-07T01:33:14.987Z"
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorEnvelope": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "ok": {
            "type": "boolean",
            "example": false
          },
          "error": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "bfin_get_cotResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "Grains": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Energies": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Meats": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Metals": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Softs": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Currencies": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Financials": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  },
                  "Indices": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "net52wHigh": {
                          "type": "string"
                        },
                        "net52wLow": {
                          "type": "string"
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "net": {
                                "type": "string"
                              },
                              "isNewPositive": {
                                "type": "boolean"
                              },
                              "isNewNegative": {
                                "type": "boolean"
                              },
                              "is52wHigh": {
                                "type": "boolean"
                              },
                              "is52wLow": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "date",
                              "is52wHigh",
                              "is52wLow",
                              "isNewNegative",
                              "isNewPositive",
                              "net"
                            ]
                          }
                        }
                      },
                      "required": [
                        "category",
                        "history",
                        "net52wHigh",
                        "net52wLow",
                        "symbol",
                        "symbolName"
                      ]
                    }
                  }
                },
                "required": [
                  "Currencies",
                  "Energies",
                  "Financials",
                  "Grains",
                  "Indices",
                  "Meats",
                  "Metals",
                  "Softs"
                ]
              },
              "meta": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "field": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "name": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "symbol": {
                            "type": "string"
                          },
                          "symbolName": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "net52wHigh": {
                            "type": "string"
                          },
                          "net52wLow": {
                            "type": "string"
                          },
                          "history": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "category",
                          "history",
                          "net52wHigh",
                          "net52wLow",
                          "symbol",
                          "symbolName"
                        ]
                      }
                    },
                    "required": [
                      "name"
                    ]
                  },
                  "lastUpdate": {
                    "type": "string"
                  }
                },
                "required": [
                  "field",
                  "lastUpdate"
                ]
              }
            },
            "required": [
              "count",
              "data",
              "meta",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_exchangesResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "id": {
                  "type": "string"
                },
                "display": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "frequency": {
                  "type": "integer"
                },
                "delay": {
                  "type": "integer"
                },
                "timezoneLocal": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "nullable": true
                    }
                  ]
                },
                "timezoneDdf": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                }
              },
              "required": [
                "category",
                "delay",
                "description",
                "display",
                "frequency",
                "id",
                "timezoneDdf",
                "timezoneLocal"
              ]
            }
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_insider_tradesResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "transactionDate": {
                      "type": "string"
                    },
                    "transactionType": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "transactionDate": {
                          "type": "string"
                        },
                        "transactionType": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "symbol",
                        "transactionDate",
                        "transactionType"
                      ]
                    }
                  },
                  "required": [
                    "raw",
                    "symbol",
                    "transactionDate",
                    "transactionType"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_newsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "canonicalUrl": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "nullable": true
                        },
                        "title": {
                          "type": "string"
                        },
                        "canonicalUrl": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "canonicalUrl",
                        "symbol",
                        "title"
                      ]
                    }
                  },
                  "required": [
                    "canonicalUrl",
                    "raw",
                    "symbol",
                    "title"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quotesResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "symbolName": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "priceChange": {
                      "type": "string"
                    },
                    "percentChange": {
                      "type": "string"
                    },
                    "tradeTime": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "lastPrice": {
                          "type": "number"
                        },
                        "priceChange": {
                          "type": "number"
                        },
                        "percentChange": {
                          "type": "number"
                        },
                        "tradeTime": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "lastPrice",
                        "percentChange",
                        "priceChange",
                        "symbol",
                        "symbolName",
                        "tradeTime"
                      ]
                    }
                  },
                  "required": [
                    "lastPrice",
                    "percentChange",
                    "priceChange",
                    "raw",
                    "symbol",
                    "symbolName",
                    "tradeTime"
                  ]
                }
              },
              "errors": {
                "nullable": true
              }
            },
            "required": [
              "count",
              "data",
              "errors",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_calendar_earnings_dividendsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "symbolName": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "priceChange": {
                      "type": "string"
                    },
                    "amount": {
                      "type": "string"
                    },
                    "yield": {
                      "type": "string"
                    },
                    "exDivDate": {
                      "type": "string"
                    },
                    "payableDate": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "lastPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "priceChange": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "amount": {
                          "type": "number"
                        },
                        "yield": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "nullable": true
                            }
                          ]
                        },
                        "exDivDate": {
                          "type": "string"
                        },
                        "payableDate": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "nullable": true
                            }
                          ]
                        }
                      },
                      "required": [
                        "amount",
                        "exDivDate",
                        "lastPrice",
                        "payableDate",
                        "priceChange",
                        "symbol",
                        "symbolName",
                        "yield"
                      ]
                    }
                  },
                  "required": [
                    "amount",
                    "exDivDate",
                    "lastPrice",
                    "payableDate",
                    "priceChange",
                    "raw",
                    "symbol",
                    "symbolName",
                    "yield"
                  ]
                }
              },
              "meta": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "field": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "shortName": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "symbol": {
                            "type": "string"
                          },
                          "symbolName": {
                            "type": "string"
                          },
                          "lastPrice": {
                            "type": "string"
                          },
                          "priceChange": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "string"
                          },
                          "yield": {
                            "type": "string"
                          },
                          "exDivDate": {
                            "type": "string"
                          },
                          "payableDate": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "amount",
                          "exDivDate",
                          "lastPrice",
                          "payableDate",
                          "priceChange",
                          "symbol",
                          "symbolName",
                          "yield"
                        ]
                      },
                      "type": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "symbol": {
                            "type": "string"
                          },
                          "symbolName": {
                            "type": "string"
                          },
                          "lastPrice": {
                            "type": "string"
                          },
                          "priceChange": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "string"
                          },
                          "yield": {
                            "type": "string"
                          },
                          "exDivDate": {
                            "type": "string"
                          },
                          "payableDate": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "amount",
                          "exDivDate",
                          "lastPrice",
                          "payableDate",
                          "priceChange",
                          "symbol",
                          "symbolName",
                          "yield"
                        ]
                      }
                    },
                    "required": [
                      "shortName",
                      "type"
                    ]
                  }
                },
                "required": [
                  "field"
                ]
              }
            },
            "required": [
              "count",
              "data",
              "meta",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_futures_hiloResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "hilo": {
                  "nullable": true
                }
              },
              "required": [
                "hilo",
                "symbol"
              ]
            }
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_news_storiesResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "articles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "sequence": {
                            "type": "integer"
                          },
                          "title": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "feed": {
                            "type": "string"
                          },
                          "originalFeed": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "nullable": true
                              }
                            ]
                          },
                          "feedName": {
                            "type": "string"
                          },
                          "author": {
                            "type": "string"
                          },
                          "authorUrl": {
                            "nullable": true
                          },
                          "authorBadge": {
                            "nullable": true
                          },
                          "authorImageUrl": {
                            "nullable": true
                          },
                          "source": {
                            "type": "string"
                          },
                          "sourceFeed": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "nullable": true
                              }
                            ]
                          },
                          "media": {
                            "type": "string"
                          },
                          "language": {
                            "type": "string"
                          },
                          "external": {
                            "type": "boolean"
                          },
                          "url": {
                            "nullable": true
                          },
                          "published": {
                            "type": "string"
                          },
                          "publishedTime": {
                            "type": "string"
                          },
                          "updated": {
                            "type": "string"
                          },
                          "summary": {
                            "type": "string"
                          },
                          "content": {
                            "nullable": true
                          },
                          "thumbnail": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "url": {
                                "type": "string"
                              },
                              "width": {
                                "type": "integer"
                              },
                              "height": {
                                "type": "integer"
                              },
                              "caption": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "caption",
                              "height",
                              "url",
                              "width"
                            ]
                          },
                          "image": {
                            "oneOf": [
                              {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "integer"
                                  },
                                  "height": {
                                    "type": "integer"
                                  },
                                  "caption": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "caption",
                                  "height",
                                  "url",
                                  "width"
                                ]
                              },
                              {
                                "nullable": true
                              }
                            ]
                          },
                          "symbols": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "primarySymbol": {
                            "nullable": true
                          },
                          "categories": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "copyright": {
                            "oneOf": [
                              {
                                "nullable": true
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "canonicalUrl": {
                            "nullable": true
                          },
                          "organizationUrl": {
                            "nullable": true
                          },
                          "organizationLogoUrl": {
                            "nullable": true
                          },
                          "originalId": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "nullable": true
                              }
                            ]
                          },
                          "meta": {
                            "nullable": true
                          }
                        },
                        "required": [
                          "author",
                          "authorBadge",
                          "authorImageUrl",
                          "authorUrl",
                          "canonicalUrl",
                          "categories",
                          "content",
                          "copyright",
                          "external",
                          "feed",
                          "feedName",
                          "id",
                          "image",
                          "language",
                          "media",
                          "meta",
                          "organizationLogoUrl",
                          "organizationUrl",
                          "originalFeed",
                          "originalId",
                          "primarySymbol",
                          "published",
                          "publishedTime",
                          "sequence",
                          "slug",
                          "source",
                          "sourceFeed",
                          "summary",
                          "symbols",
                          "thumbnail",
                          "title",
                          "updated",
                          "url"
                        ]
                      }
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "articles": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true,
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "sequence": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              },
                              "slug": {
                                "type": "string"
                              },
                              "feed": {
                                "type": "string"
                              },
                              "originalFeed": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "nullable": true
                                  }
                                ]
                              },
                              "feedName": {
                                "type": "string"
                              },
                              "author": {
                                "type": "string"
                              },
                              "authorUrl": {
                                "nullable": true
                              },
                              "authorBadge": {
                                "nullable": true
                              },
                              "authorImageUrl": {
                                "nullable": true
                              },
                              "source": {
                                "type": "string"
                              },
                              "sourceFeed": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "nullable": true
                                  }
                                ]
                              },
                              "media": {
                                "type": "string"
                              },
                              "language": {
                                "type": "string"
                              },
                              "external": {
                                "type": "boolean"
                              },
                              "url": {
                                "nullable": true
                              },
                              "published": {
                                "type": "string"
                              },
                              "publishedTime": {
                                "type": "string"
                              },
                              "updated": {
                                "type": "string"
                              },
                              "summary": {
                                "type": "string"
                              },
                              "content": {
                                "nullable": true
                              },
                              "thumbnail": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                  "url": {
                                    "type": "string"
                                  },
                                  "width": {
                                    "type": "integer"
                                  },
                                  "height": {
                                    "type": "integer"
                                  },
                                  "caption": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "caption",
                                  "height",
                                  "url",
                                  "width"
                                ]
                              },
                              "image": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "additionalProperties": true,
                                    "properties": {
                                      "url": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "integer"
                                      },
                                      "height": {
                                        "type": "integer"
                                      },
                                      "caption": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "caption",
                                      "height",
                                      "url",
                                      "width"
                                    ]
                                  },
                                  {
                                    "nullable": true
                                  }
                                ]
                              },
                              "symbols": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "primarySymbol": {
                                "nullable": true
                              },
                              "categories": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "copyright": {
                                "oneOf": [
                                  {
                                    "nullable": true
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "canonicalUrl": {
                                "nullable": true
                              },
                              "organizationUrl": {
                                "nullable": true
                              },
                              "organizationLogoUrl": {
                                "nullable": true
                              },
                              "originalId": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "nullable": true
                                  }
                                ]
                              },
                              "meta": {
                                "nullable": true
                              }
                            },
                            "required": [
                              "author",
                              "authorBadge",
                              "authorImageUrl",
                              "authorUrl",
                              "canonicalUrl",
                              "categories",
                              "content",
                              "copyright",
                              "external",
                              "feed",
                              "feedName",
                              "id",
                              "image",
                              "language",
                              "media",
                              "meta",
                              "organizationLogoUrl",
                              "organizationUrl",
                              "originalFeed",
                              "originalId",
                              "primarySymbol",
                              "published",
                              "publishedTime",
                              "sequence",
                              "slug",
                              "source",
                              "sourceFeed",
                              "summary",
                              "symbols",
                              "thumbnail",
                              "title",
                              "updated",
                              "url"
                            ]
                          }
                        }
                      },
                      "required": [
                        "articles",
                        "symbol"
                      ]
                    },
                    "symbolInfo": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "symbolName": {
                          "type": "string"
                        },
                        "symbolType": {
                          "type": "integer"
                        },
                        "symbolCode": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "symbol",
                        "symbolCode",
                        "symbolName",
                        "symbolType"
                      ]
                    }
                  },
                  "required": [
                    "articles",
                    "raw",
                    "symbol",
                    "symbolInfo"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_news_storyResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "canonicalUrl": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        },
                        "canonicalUrl": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "canonicalUrl",
                        "content",
                        "id",
                        "title"
                      ]
                    }
                  },
                  "required": [
                    "canonicalUrl",
                    "content",
                    "id",
                    "raw",
                    "title"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_options_flowResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "baseSymbol": {
                      "type": "string"
                    },
                    "expirationDate": {
                      "type": "string"
                    },
                    "strikePrice": {
                      "type": "string"
                    },
                    "volume": {
                      "type": "string"
                    },
                    "openInterest": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "tradeTime": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "baseSymbol": {
                          "type": "string"
                        },
                        "expirationDate": {
                          "type": "string"
                        },
                        "strikePrice": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "volume": {
                          "type": "integer"
                        },
                        "openInterest": {
                          "type": "integer"
                        },
                        "lastPrice": {
                          "type": "number"
                        },
                        "tradeTime": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "baseSymbol",
                        "expirationDate",
                        "lastPrice",
                        "openInterest",
                        "strikePrice",
                        "symbol",
                        "tradeTime",
                        "volume"
                      ]
                    }
                  },
                  "required": [
                    "baseSymbol",
                    "expirationDate",
                    "lastPrice",
                    "openInterest",
                    "raw",
                    "strikePrice",
                    "symbol",
                    "tradeTime",
                    "volume"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_raw_endpointidResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "id": {
                  "type": "string"
                },
                "display": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "frequency": {
                  "type": "integer"
                },
                "delay": {
                  "type": "integer"
                },
                "timezoneLocal": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "nullable": true
                    }
                  ]
                },
                "timezoneDdf": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                }
              },
              "required": [
                "category",
                "delay",
                "description",
                "display",
                "frequency",
                "id",
                "timezoneDdf",
                "timezoneLocal"
              ]
            }
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_strategies_topResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "signalName": {
                      "type": "string"
                    },
                    "entryDate": {
                      "type": "string"
                    },
                    "entryPrice": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "priceChange": {
                      "type": "string"
                    },
                    "percentChange": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "signalName": {
                          "type": "string"
                        },
                        "entryDate": {
                          "type": "string"
                        },
                        "entryPrice": {
                          "type": "number"
                        },
                        "lastPrice": {
                          "type": "number"
                        },
                        "priceChange": {
                          "type": "number"
                        },
                        "percentChange": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "entryDate",
                        "entryPrice",
                        "lastPrice",
                        "percentChange",
                        "priceChange",
                        "signalName",
                        "symbol"
                      ]
                    }
                  },
                  "required": [
                    "entryDate",
                    "entryPrice",
                    "lastPrice",
                    "percentChange",
                    "priceChange",
                    "raw",
                    "signalName",
                    "symbol"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_options_strategies_strategy_slugResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "baseSymbol": {
                      "type": "string"
                    },
                    "baseLastPrice": {
                      "type": "string"
                    },
                    "expirationDate": {
                      "type": "string"
                    },
                    "daysToExpiration": {
                      "type": "string"
                    },
                    "strike": {
                      "type": "string"
                    },
                    "breakEvenBid": {
                      "type": "string"
                    },
                    "percentToBreakEvenBid": {
                      "type": "string"
                    },
                    "potentialReturn": {
                      "type": "string"
                    },
                    "flatAnnual": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "baseSymbol": {
                          "type": "string"
                        },
                        "baseLastPrice": {
                          "type": "number"
                        },
                        "expirationDate": {
                          "type": "string"
                        },
                        "daysToExpiration": {
                          "type": "integer"
                        },
                        "strike": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "breakEvenBid": {
                          "type": "number"
                        },
                        "percentToBreakEvenBid": {
                          "type": "number"
                        },
                        "potentialReturn": {
                          "type": "number"
                        },
                        "flatAnnual": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "baseLastPrice",
                        "baseSymbol",
                        "breakEvenBid",
                        "daysToExpiration",
                        "expirationDate",
                        "flatAnnual",
                        "percentToBreakEvenBid",
                        "potentialReturn",
                        "strike",
                        "symbol"
                      ]
                    }
                  },
                  "required": [
                    "baseLastPrice",
                    "baseSymbol",
                    "breakEvenBid",
                    "daysToExpiration",
                    "expirationDate",
                    "flatAnnual",
                    "percentToBreakEvenBid",
                    "potentialReturn",
                    "raw",
                    "strike",
                    "symbol"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_corporate_actionsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "eventType": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "eventType": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "eventType"
                      ]
                    }
                  },
                  "required": [
                    "eventType",
                    "raw"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_historicalResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "tradeTime": {
                      "type": "string"
                    },
                    "openPrice": {
                      "type": "string"
                    },
                    "highPrice": {
                      "type": "string"
                    },
                    "lowPrice": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "volume": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "tradeTime": {
                          "type": "string"
                        },
                        "openPrice": {
                          "type": "number"
                        },
                        "highPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "lowPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "lastPrice": {
                          "type": "number"
                        },
                        "volume": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "highPrice",
                        "lastPrice",
                        "lowPrice",
                        "openPrice",
                        "tradeTime",
                        "volume"
                      ]
                    }
                  },
                  "required": [
                    "highPrice",
                    "lastPrice",
                    "lowPrice",
                    "openPrice",
                    "raw",
                    "tradeTime",
                    "volume"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_historical_volatilityResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "volatility": {
                      "type": "string"
                    },
                    "tradeTime": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "volatility": {
                          "oneOf": [
                            {
                              "nullable": true
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "tradeTime": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "tradeTime",
                        "volatility"
                      ]
                    }
                  },
                  "required": [
                    "raw",
                    "tradeTime",
                    "volatility"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_intradayResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_optionsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "baseSymbol": {
                      "type": "string"
                    },
                    "expirationDate": {
                      "type": "string"
                    },
                    "strikePrice": {
                      "type": "string"
                    },
                    "optionType": {
                      "type": "string"
                    },
                    "bidPrice": {
                      "type": "string"
                    },
                    "askPrice": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "volume": {
                      "type": "string"
                    },
                    "openInterest": {
                      "type": "string"
                    },
                    "volatility": {
                      "type": "string"
                    },
                    "delta": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "baseSymbol": {
                          "type": "string"
                        },
                        "expirationDate": {
                          "type": "string"
                        },
                        "strikePrice": {
                          "type": "integer"
                        },
                        "optionType": {
                          "type": "string"
                        },
                        "bidPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "askPrice": {
                          "type": "number"
                        },
                        "lastPrice": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "volume": {
                          "type": "integer"
                        },
                        "openInterest": {
                          "type": "integer"
                        },
                        "volatility": {
                          "type": "number"
                        },
                        "delta": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "askPrice",
                        "baseSymbol",
                        "bidPrice",
                        "delta",
                        "expirationDate",
                        "lastPrice",
                        "openInterest",
                        "optionType",
                        "strikePrice",
                        "symbol",
                        "volatility",
                        "volume"
                      ]
                    }
                  },
                  "required": [
                    "askPrice",
                    "baseSymbol",
                    "bidPrice",
                    "delta",
                    "expirationDate",
                    "lastPrice",
                    "openInterest",
                    "optionType",
                    "raw",
                    "strikePrice",
                    "symbol",
                    "volatility",
                    "volume"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_options_chainResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "baseSymbol": {
                      "type": "string"
                    },
                    "expirationDate": {
                      "type": "string"
                    },
                    "strikePrice": {
                      "type": "string"
                    },
                    "optionType": {
                      "type": "string"
                    },
                    "bidPrice": {
                      "type": "string"
                    },
                    "askPrice": {
                      "type": "string"
                    },
                    "lastPrice": {
                      "type": "string"
                    },
                    "volume": {
                      "type": "string"
                    },
                    "openInterest": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "symbol": {
                          "type": "string"
                        },
                        "baseSymbol": {
                          "type": "string"
                        },
                        "expirationDate": {
                          "type": "string"
                        },
                        "strikePrice": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "optionType": {
                          "type": "string"
                        },
                        "bidPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "askPrice": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "lastPrice": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "volume": {
                          "oneOf": [
                            {
                              "nullable": true
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        },
                        "openInterest": {
                          "oneOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "nullable": true
                            }
                          ]
                        }
                      },
                      "required": [
                        "askPrice",
                        "baseSymbol",
                        "bidPrice",
                        "expirationDate",
                        "lastPrice",
                        "openInterest",
                        "optionType",
                        "strikePrice",
                        "symbol",
                        "volume"
                      ]
                    }
                  },
                  "required": [
                    "askPrice",
                    "baseSymbol",
                    "bidPrice",
                    "expirationDate",
                    "lastPrice",
                    "openInterest",
                    "optionType",
                    "raw",
                    "strikePrice",
                    "symbol",
                    "volume"
                  ]
                }
              },
              "meta": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "expirations": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isMonthly": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "2026-06-08": {
                        "type": "boolean"
                      },
                      "2026-06-10": {
                        "type": "boolean"
                      },
                      "2026-06-12": {
                        "type": "boolean"
                      },
                      "2026-06-15": {
                        "type": "boolean"
                      },
                      "2026-06-17": {
                        "type": "boolean"
                      },
                      "2026-06-18": {
                        "type": "boolean"
                      },
                      "2026-06-26": {
                        "type": "boolean"
                      },
                      "2026-07-02": {
                        "type": "boolean"
                      },
                      "2026-07-10": {
                        "type": "boolean"
                      },
                      "2026-07-17": {
                        "type": "boolean"
                      },
                      "2026-07-24": {
                        "type": "boolean"
                      },
                      "2026-08-21": {
                        "type": "boolean"
                      },
                      "2026-09-18": {
                        "type": "boolean"
                      },
                      "2026-10-16": {
                        "type": "boolean"
                      },
                      "2026-11-20": {
                        "type": "boolean"
                      },
                      "2026-12-18": {
                        "type": "boolean"
                      },
                      "2027-01-15": {
                        "type": "boolean"
                      },
                      "2027-02-19": {
                        "type": "boolean"
                      },
                      "2027-03-19": {
                        "type": "boolean"
                      },
                      "2027-06-17": {
                        "type": "boolean"
                      },
                      "2027-09-17": {
                        "type": "boolean"
                      },
                      "2027-12-17": {
                        "type": "boolean"
                      },
                      "2028-01-21": {
                        "type": "boolean"
                      },
                      "2028-03-17": {
                        "type": "boolean"
                      },
                      "2028-12-15": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "2026-06-08",
                      "2026-06-10",
                      "2026-06-12",
                      "2026-06-15",
                      "2026-06-17",
                      "2026-06-18",
                      "2026-06-26",
                      "2026-07-02",
                      "2026-07-10",
                      "2026-07-17",
                      "2026-07-24",
                      "2026-08-21",
                      "2026-09-18",
                      "2026-10-16",
                      "2026-11-20",
                      "2026-12-18",
                      "2027-01-15",
                      "2027-02-19",
                      "2027-03-19",
                      "2027-06-17",
                      "2027-09-17",
                      "2027-12-17",
                      "2028-01-21",
                      "2028-03-17",
                      "2028-12-15"
                    ]
                  }
                },
                "required": [
                  "expirations",
                  "isMonthly"
                ]
              }
            },
            "required": [
              "count",
              "data",
              "meta",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_options_deltaResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "data": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "2026-05-04": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "date": {
                          "type": "string"
                        },
                        "delta50_both": {
                          "type": "number"
                        },
                        "expiration": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "date",
                        "delta50_both",
                        "expiration"
                      ]
                    }
                  }
                },
                "required": [
                  "2026-05-04"
                ]
              }
            },
            "required": [
              "count",
              "data"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_options_expirationsResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "expirationDate": {
                      "type": "string"
                    },
                    "expirationType": {
                      "type": "string"
                    },
                    "daysToExpiration": {
                      "type": "string"
                    },
                    "underlyingLastPrice": {
                      "type": "string"
                    },
                    "impliedMove": {
                      "type": "string"
                    },
                    "impliedMovePercent": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "expirationDate": {
                          "type": "string"
                        },
                        "expirationType": {
                          "type": "string"
                        },
                        "daysToExpiration": {
                          "type": "integer"
                        },
                        "underlyingLastPrice": {
                          "type": "number"
                        },
                        "impliedMove": {
                          "type": "number"
                        },
                        "impliedMovePercent": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "daysToExpiration",
                        "expirationDate",
                        "expirationType",
                        "impliedMove",
                        "impliedMovePercent",
                        "underlyingLastPrice"
                      ]
                    }
                  },
                  "required": [
                    "daysToExpiration",
                    "expirationDate",
                    "expirationType",
                    "impliedMove",
                    "impliedMovePercent",
                    "raw",
                    "underlyingLastPrice"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      },
      "bfin_get_quote_symbol_options_historicalResponse": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "provider": {
                "type": "string"
              },
              "endpoint": {
                "type": "string"
              },
              "family": {
                "type": "string"
              },
              "cache": {
                "type": "string"
              },
              "ttl_seconds": {
                "type": "integer"
              },
              "stale_seconds": {
                "type": "integer"
              },
              "generated_at": {
                "type": "string"
              },
              "route": {
                "type": "string"
              }
            },
            "required": [
              "cache",
              "endpoint",
              "family",
              "generated_at",
              "provider",
              "route",
              "stale_seconds",
              "ttl_seconds"
            ]
          },
          "data": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "count": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {
                    "impliedVolatilityRank1y": {
                      "type": "string"
                    },
                    "impliedVolatilityPercentile1y": {
                      "type": "string"
                    },
                    "totalVolume": {
                      "type": "string"
                    },
                    "totalOpenInterest": {
                      "type": "string"
                    },
                    "historicalLastPrice": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "object",
                      "additionalProperties": true,
                      "properties": {
                        "impliedVolatilityRank1y": {
                          "type": "number"
                        },
                        "impliedVolatilityPercentile1y": {
                          "type": "number"
                        },
                        "totalVolume": {
                          "type": "integer"
                        },
                        "totalOpenInterest": {
                          "type": "integer"
                        },
                        "historicalLastPrice": {
                          "type": "number"
                        },
                        "date": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "date",
                        "historicalLastPrice",
                        "impliedVolatilityPercentile1y",
                        "impliedVolatilityRank1y",
                        "totalOpenInterest",
                        "totalVolume"
                      ]
                    }
                  },
                  "required": [
                    "date",
                    "historicalLastPrice",
                    "impliedVolatilityPercentile1y",
                    "impliedVolatilityRank1y",
                    "raw",
                    "totalOpenInterest",
                    "totalVolume"
                  ]
                }
              }
            },
            "required": [
              "count",
              "data",
              "total"
            ]
          }
        },
        "required": [
          "data",
          "meta"
        ]
      }
    }
  },
  "x-generated-at": "2026-06-07T01:30:59.456Z",
  "x-source-api": "bfin",
  "x-source-base-url": "https://api.bfin.bluedoor.sh"
}
