{"openapi":"3.1.0","info":{"title":"FUSE Market Monitor API","version":"0.2.0"},"paths":{"/api/health/live":{"get":{"summary":"Health Live","operationId":"health_live_api_health_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health/ready":{"get":{"summary":"Health Ready","operationId":"health_ready_api_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/config":{"get":{"summary":"Config","operationId":"config_api_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/session":{"get":{"summary":"Read Session","operationId":"read_session_api_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Session","operationId":"session_api_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"summary":"Logout","operationId":"logout_api_session_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/assets":{"get":{"summary":"Assets","operationId":"assets_api_assets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/markets":{"get":{"summary":"Markets","operationId":"markets_api_markets_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}},{"name":"stock","in":"query","required":false,"schema":{"type":"string","maxLength":15,"default":"","title":"Stock"}},{"name":"community","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Community"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chart":{"get":{"summary":"Candles","operationId":"candles_api_chart_get","parameters":[{"name":"market_id","in":"query","required":true,"schema":{"type":"string","maxLength":160,"title":"Market Id"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"1H","title":"Timeframe"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stats":{"get":{"summary":"Stats","operationId":"stats_api_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/quotes":{"post":{"summary":"Quote","operationId":"quote_api_quotes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/positions":{"get":{"summary":"Positions","operationId":"positions_api_positions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Open Position","operationId":"open_position_api_positions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/positions/{position_id}/close":{"post":{"summary":"Close Position","operationId":"close_position_api_positions__position_id__close_post","parameters":[{"name":"position_id","in":"path","required":true,"schema":{"type":"string","title":"Position Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/funds/deposit":{"post":{"summary":"Deposit","operationId":"deposit_api_funds_deposit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/funds/withdraw":{"post":{"summary":"Withdraw","operationId":"withdraw_api_funds_withdraw_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/baskets":{"post":{"summary":"Listing","operationId":"listing_api_baskets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/baskets/{market_id}/topup":{"post":{"summary":"Topup","operationId":"topup_api_baskets__market_id__topup_post","parameters":[{"name":"market_id","in":"path","required":true,"schema":{"type":"string","title":"Market Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options/quote":{"post":{"summary":"Option Quote","operationId":"option_quote_api_options_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options":{"post":{"summary":"Buy Option","operationId":"buy_option_api_options_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options/{option_id}/close":{"post":{"summary":"Close Option","operationId":"close_option_api_options__option_id__close_post","parameters":[{"name":"option_id","in":"path","required":true,"schema":{"type":"string","title":"Option Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/data-status":{"get":{"summary":"Data Status","operationId":"data_status_api_data_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/market-data":{"get":{"summary":"Market Snapshot","operationId":"market_snapshot_api_market_data_get","parameters":[{"name":"asset_id","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Asset Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":30,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/market-data/{asset_id}/history":{"get":{"summary":"Market History","operationId":"market_history_api_market_data__asset_id__history_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observe/{asset_id}":{"post":{"summary":"Observe","operationId":"observe_api_observe__asset_id__post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/live/{path}":{"post":{"summary":"No Live","operationId":"no_live_api_live__path__post","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/export/ledger.csv":{"get":{"summary":"Export","operationId":"export_api_export_ledger_csv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/events":{"get":{"summary":"Events","operationId":"events_api_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/data":{"get":{"summary":"Home","operationId":"home_data_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/portfolio":{"get":{"summary":"Home","operationId":"home_portfolio_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/trade":{"get":{"summary":"Home","operationId":"home_trade_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"FundsRequest":{"properties":{"amount_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Amount Eth"}},"additionalProperties":false,"type":"object","required":["amount_eth"],"title":"FundsRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ListingRequest":{"properties":{"meme_id":{"type":"string","maxLength":100,"title":"Meme Id"},"stock_id":{"type":"string","maxLength":100,"title":"Stock Id"},"weight_bps":{"type":"integer","enum":[2500,5000,7500],"title":"Weight Bps","default":5000},"seed_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Seed Eth","default":"0.05"}},"additionalProperties":false,"type":"object","required":["meme_id","stock_id"],"title":"ListingRequest"},"OpenRequest":{"properties":{"quote_id":{"type":"string","maxLength":100,"minLength":10,"title":"Quote Id"}},"additionalProperties":false,"type":"object","required":["quote_id"],"title":"OpenRequest"},"OptionRequest":{"properties":{"market_id":{"type":"string","maxLength":160,"title":"Market Id"},"kind":{"type":"string","enum":["call","put"],"title":"Kind"},"strike":{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$","title":"Strike"},"contracts":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Contracts"},"duration_hours":{"type":"integer","enum":[4,24,168],"title":"Duration Hours","default":24},"max_premium_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Max Premium Eth"}},"additionalProperties":false,"type":"object","required":["market_id","kind","strike","contracts","max_premium_eth"],"title":"OptionRequest"},"QuoteRequest":{"properties":{"market_id":{"type":"string","maxLength":160,"minLength":1,"title":"Market Id"},"side":{"type":"string","enum":["long","short"],"title":"Side"},"leverage":{"type":"integer","enum":[2,3,5],"title":"Leverage"},"margin_eth":{"type":"string","pattern":"^\\d{1,7}(\\.\\d{1,9})?$","title":"Margin Eth"},"slippage_bps":{"type":"integer","maximum":200.0,"minimum":0.0,"title":"Slippage Bps","default":50},"stop_loss":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$"},{"type":"null"}],"title":"Stop Loss"},"take_profit":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$"},{"type":"null"}],"title":"Take Profit"}},"additionalProperties":false,"type":"object","required":["market_id","side","leverage","margin_eth"],"title":"QuoteRequest"},"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"}}}}