{"openapi":"3.1.0","info":{"title":"Earnings & Filings API","description":"Structured earnings-call transcripts and parsed SEC filings as JSON.","version":"1.0.0"},"paths":{"/v1/checkout":{"get":{"summary":"Create Checkout","description":"Create a Stripe Checkout session.","operationId":"create_checkout_v1_checkout_get","parameters":[{"name":"tier","in":"query","required":true,"schema":{"type":"string","title":"Tier"}},{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Checkout","description":"Create a Stripe Checkout session.","operationId":"create_checkout_v1_checkout_get","parameters":[{"name":"tier","in":"query","required":true,"schema":{"type":"string","title":"Tier"}},{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/checkout/success":{"get":{"summary":"Checkout Success","description":"Handle successful checkout — create API key for the customer.","operationId":"checkout_success_v1_checkout_success_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/stripe":{"post":{"summary":"Stripe Webhook","description":"Handle Stripe webhook events.","operationId":"stripe_webhook_v1_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/signup/free":{"get":{"summary":"Free Signup","operationId":"free_signup_v1_signup_free_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Free Signup","operationId":"free_signup_v1_signup_free_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/verify":{"get":{"summary":"Verify Email","operationId":"verify_email_v1_verify_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/metrics":{"get":{"summary":"Admin Metrics","operationId":"admin_metrics_v1_admin_metrics_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/reddit-post":{"post":{"summary":"Add Reddit Post","operationId":"add_reddit_post_v1_admin_reddit_post_post","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedditPostIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/reddit-post/{post_id}":{"delete":{"summary":"Delete Reddit Post","operationId":"delete_reddit_post_v1_admin_reddit_post__post_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/todo":{"post":{"summary":"Add Todo","operationId":"add_todo_v1_admin_todo_post","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TodoIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/todo/{todo_id}/toggle":{"patch":{"summary":"Toggle Todo","operationId":"toggle_todo_v1_admin_todo__todo_id__toggle_patch","parameters":[{"name":"todo_id","in":"path","required":true,"schema":{"type":"integer","title":"Todo Id"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/todo/{todo_id}":{"delete":{"summary":"Delete Todo","operationId":"delete_todo_v1_admin_todo__todo_id__delete","parameters":[{"name":"todo_id","in":"path","required":true,"schema":{"type":"integer","title":"Todo Id"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/dashboard":{"get":{"summary":"Admin Dashboard","operationId":"admin_dashboard_admin_dashboard_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/insiders/{ticker}":{"get":{"summary":"Get Insider Transactions","description":"Return recent Form 4 insider transactions for a ticker.\n\nAvailable on Plus, Pro, and Enterprise tiers.","operationId":"get_insider_transactions_v1_insiders__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}},{"name":"transaction_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"S=sales P=purchases","title":"Transaction Type"},"description":"S=sales P=purchases"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/insiders/{ticker}/summary":{"get":{"summary":"Get Insider Summary","description":"Net insider buy/sell summary over a rolling window.\n\nReturns signal: net_selling / net_buying / neutral.\nAvailable on Pro and Enterprise tiers.","operationId":"get_insider_summary_v1_insiders__ticker__summary_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"api_key","in":"query","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"lookback_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":60,"title":"Lookback Days"}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD, defaults to today","title":"As Of"},"description":"YYYY-MM-DD, defaults to today"}],"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":{"application/json":{"schema":{}}}}}}},"/model":{"get":{"summary":"Model Page","operationId":"model_page_model_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/favicon.ico":{"get":{"summary":"Favicon","operationId":"favicon_favicon_ico_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp":{"get":{"summary":"Mcp Redirect","operationId":"mcp_redirect_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/filings/{ticker}":{"get":{"summary":"Get Filings","operationId":"get_filings_v1_filings__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"default":10,"title":"Limit"}},{"name":"event_type","in":"query","required":false,"schema":{"type":"string","title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/filings/{ticker}/guidance":{"get":{"summary":"Get Guidance","operationId":"get_guidance_v1_filings__ticker__guidance_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/filings/{ticker}/{accession}":{"get":{"summary":"Get Filing Detail","operationId":"get_filing_detail_v1_filings__ticker___accession__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"accession","in":"path","required":true,"schema":{"type":"string","title":"Accession"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/filings":{"get":{"summary":"Search Filings","operationId":"search_filings_v1_filings_get","parameters":[{"name":"event_type","in":"query","required":false,"schema":{"type":"string","title":"Event Type"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"sector","in":"query","required":false,"schema":{"type":"string","title":"Sector"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/calendar/earnings":{"get":{"summary":"Get Earnings Calendar","description":"Get upcoming and recent earnings dates with estimates.","operationId":"get_earnings_calendar_v1_calendar_earnings_get","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"type":"string","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","title":"Date To"}},{"name":"ticker","in":"query","required":false,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/transcripts/{ticker}":{"get":{"summary":"Get Transcripts","operationId":"get_transcripts_v1_transcripts__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sectors":{"get":{"summary":"List Sectors","description":"List all sectors with ticker counts.","operationId":"list_sectors_v1_sectors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/sectors/{sector}":{"get":{"summary":"Get Sector Tickers","description":"List all tickers in a sector with their industries.","operationId":"get_sector_tickers_v1_sectors__sector__get","parameters":[{"name":"sector","in":"path","required":true,"schema":{"type":"string","title":"Sector"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sectors/{sector}/filings":{"get":{"summary":"Get Sector Filings","description":"Get recent filings for all companies in a sector.","operationId":"get_sector_filings_v1_sectors__sector__filings_get","parameters":[{"name":"sector","in":"path","required":true,"schema":{"type":"string","title":"Sector"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":20,"title":"Limit"}},{"name":"event_type","in":"query","required":false,"schema":{"type":"string","title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sectors/{sector}/guidance":{"get":{"summary":"Get Sector Guidance","description":"Get recent guidance language for all companies in a sector.","operationId":"get_sector_guidance_v1_sectors__sector__guidance_get","parameters":[{"name":"sector","in":"path","required":true,"schema":{"type":"string","title":"Sector"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/company/{ticker}":{"get":{"summary":"Get Company Info","description":"Get sector/industry info for a ticker.","operationId":"get_company_info_v1_company__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/transcripts/{ticker}/fetch":{"get":{"summary":"Fetch Transcripts On Demand","description":"Fetch transcripts for a ticker on demand if not already cached.","operationId":"fetch_transcripts_on_demand_v1_transcripts__ticker__fetch_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/signals/latest":{"get":{"summary":"Get Latest Signals","description":"Get latest filings with sentiment scores — real-time trading signals.","operationId":"get_latest_signals_v1_signals_latest_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Hours"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/calendar/macro":{"get":{"summary":"Get Macro Calendar","description":"Get macro economic calendar with model-based estimates.","operationId":"get_macro_calendar_v1_calendar_macro_get","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"type":"string","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","title":"Date To"}},{"name":"importance","in":"query","required":false,"schema":{"type":"string","title":"Importance"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/calendar/macro/history":{"get":{"summary":"Get Macro History","description":"Get historical macro economic releases with actual vs estimate vs surprise.","operationId":"get_macro_history_v1_calendar_macro_history_get","parameters":[{"name":"indicator","in":"query","required":false,"schema":{"type":"string","title":"Indicator"}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","title":"Date To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"RedditPostIn":{"properties":{"date":{"type":"string","title":"Date"},"subreddit":{"type":"string","title":"Subreddit"},"title":{"type":"string","title":"Title","default":""},"views":{"type":"integer","title":"Views","default":0},"upvotes":{"type":"integer","title":"Upvotes","default":0},"comments":{"type":"integer","title":"Comments","default":0}},"type":"object","required":["date","subreddit"],"title":"RedditPostIn"},"TodoIn":{"properties":{"title":{"type":"string","title":"Title"},"due_at":{"type":"string","title":"Due At"}},"type":"object","required":["title","due_at"],"title":"TodoIn"},"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"}}}}