{"openapi":"3.1.0","info":{"title":"Signal Sigma API","description":"API for financial data queries. Requires API key authentication.\n The machine-readable OpenAPI specification is available at: https://signal-sigma-api.com/openapi.json Use this link when asking an AI, code generator, or tool to read/understand the API.","version":"0.1.0"},"paths":{"/api/test":{"get":{"summary":"Test Method","operationId":"test_method_api_test_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ticker_list":{"get":{"summary":"Ticker List Method","operationId":"ticker_list_method_api_ticker_list_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/price_history":{"get":{"summary":"Price History Method","description":"Returns historical price data for a given ticker.\n\nExample: /api/price_history?ticker=AAPL\nReturns OHLCV + dividend/split data.","operationId":"price_history_method_api_price_history_get","parameters":[{"name":"ticker","in":"query","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/data":{"get":{"summary":"Data Method","description":"Returns a single metric value for a given ticker on a specific (or latest) date.\nExample: /api/data?ticker=AAPL&metric=analysttargetprice&date=2026-03-12\n\nBehavior:\n- If date is provided → prefer Parquet (fast) from sim_db_compressed, fallback to CSV\n- If date is NOT provided (latest) → ALWAYS use the latest CSV from simulation_db (as requested)","operationId":"data_method_api_data_get","parameters":[{"name":"ticker","in":"query","required":true,"schema":{"type":"string","description":"Ticker symbol (e.g. AAPL)","title":"Ticker"},"description":"Ticker symbol (e.g. AAPL)"},{"name":"metric","in":"query","required":true,"schema":{"type":"string","description":"Metric name (Display Metric or Table Metric)","title":"Metric"},"description":"Metric name (Display Metric or Table Metric)"},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Date in YYYY-MM-DD format (optional – defaults to latest available)","title":"Date"},"description":"Date in YYYY-MM-DD format (optional – defaults to latest available)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/backtest_list":{"get":{"summary":"Backtest List Method","description":"Returns a list of backtests for the user.\n- If backtest_name is provided → only that backtest is returned (early direct lookup).\n- Otherwise → full list is returned.","operationId":"backtest_list_method_api_backtest_list_get","parameters":[{"name":"backtest_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional: Filter to a specific backtest name (case-insensitive)","title":"Backtest Name"},"description":"Optional: Filter to a specific backtest name (case-insensitive)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/backtest_result":{"get":{"summary":"Backtest Result Method","description":"Returns backtest data for a specific output type.\nExample: /api/backtest_result?name=Enterprise&output=portfolio&date=2026-04-17","operationId":"backtest_result_method_api_backtest_result_get","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Name of the backtest folder (must exist)","title":"Name"},"description":"Name of the backtest folder (must exist)"},{"name":"output","in":"query","required":false,"schema":{"type":"string","description":"Type of data to return: portfolio, orders, returns, transactions, log, chart","default":"chart","title":"Output"},"description":"Type of data to return: portfolio, orders, returns, transactions, log, chart"},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Date in YYYY-MM-DD format (optional – defaults to latest trading date or 'all' depending on output)","title":"Date"},"description":"Date in YYYY-MM-DD format (optional – defaults to latest trading date or 'all' depending on output)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/data_range":{"get":{"summary":"Data Range Method","description":"Returns a time series of a single metric for a ticker over a date range.\nMaximum 260 data points (prioritizing most recent dates).","operationId":"data_range_method_api_data_range_get","parameters":[{"name":"ticker","in":"query","required":true,"schema":{"type":"string","description":"Ticker symbol (e.g. AAPL)","title":"Ticker"},"description":"Ticker symbol (e.g. AAPL)"},{"name":"metric","in":"query","required":true,"schema":{"type":"string","description":"Metric name (Display Metric or Table Metric)","title":"Metric"},"description":"Metric name (Display Metric or Table Metric)"},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date in YYYY-MM-DD format","title":"Start Date"},"description":"Start date in YYYY-MM-DD format"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date in YYYY-MM-DD format","title":"End Date"},"description":"End date in YYYY-MM-DD format"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/snapshot":{"get":{"summary":"Snapshot Method","description":"Returns the latest available value for a given metric across multiple tickers.\nMaximum 250 tickers per request.","operationId":"snapshot_method_api_snapshot_get","parameters":[{"name":"tickers","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated list of tickers (maximum 250)","title":"Tickers"},"description":"Comma-separated list of tickers (maximum 250)"},{"name":"metric","in":"query","required":true,"schema":{"type":"string","description":"Metric name (Display Metric or Table Metric)","title":"Metric"},"description":"Metric name (Display Metric or Table Metric)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options_structure":{"get":{"summary":"Options Structure Method","description":"Returns one options-structure metric for all expiries on a given as-of date.\nExample: /api/options_structure?ticker=SPY&metric=put_wall&date=2023-01-03\nAlways includes expiry_date so rows can be matched to contracts.","operationId":"options_structure_method_api_options_structure_get","parameters":[{"name":"ticker","in":"query","required":true,"schema":{"type":"string","description":"Ticker symbol (e.g. SPY)","title":"Ticker"},"description":"Ticker symbol (e.g. SPY)"},{"name":"metric","in":"query","required":true,"schema":{"type":"string","description":"Options structure column name (see Options_Structure_Column_Guide)","title":"Metric"},"description":"Options structure column name (see Options_Structure_Column_Guide)"},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"As-of date in YYYY-MM-DD format (optional – defaults to latest available)","title":"Date"},"description":"As-of date in YYYY-MM-DD format (optional – defaults to latest available)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}