{"service":"ownership-client","version":"1.0.0","description":"API client for ownership data - provides endpoints for Laravel frontend","endpoints":{"GET /health":"Application health check (add ?check_service=1 to include ownership service)","GET /api/ownership/:symbol":"Get ownership data (from Railway DB) - supports ?limit=15&offset=0&search=term","GET /api/shareholders/:symbol":"Get shareholders data for Laravel ShareholdersTable - supports ?limit=15&offset=0&quarter=2024Q1&search=term","GET /api/shareholders/funds/dates":"Get available fund date ranges from Railway track_investor_date_range","GET /api/shareholders/mutual-funds/:symbol":"Get mutual funds data for Laravel MutualFundsTable - supports ?limit=15&offset=0&quarter=2024Q1&search=term","GET /api/shareholders/mutual-funds/dates/all":"Get available mutual funds date ranges from Railway track_investor_date_range (fixed routing conflict)","GET /api/eod-prices":"Get EOD prices data - supports ?symbols=AAPL,GOOGL&period=1yr (periods: 3m,6m,1yr,5yr,ytd,max)","GET /api/fund-basic-summary/:cik":"Get basic fund summary data (portfolio size, turnover, etc.)","GET /api/fund-sector-allocation/:cik":"Get sector allocation data for charts","GET /api/fund-market-value/:cik":"Get market value over time data","GET /api/fund-holdings-summary/:cik":"Get top holdings summary data","GET /api/fund-top-buys-sells/:cik":"Get top buys/sells and new positions data","GET /api/fund-returns/:cik":"Estimated returns by period vs the S&P 500 and the quarterly series","GET /api/fund-adviser/:cik":"Get basic investment adviser information","GET /api/fund-adviser-part2/:cik":"Get part2_url for Firm Brochure from processed table","GET /api/fund-adviser-details/:cik":"Get detailed adviser information including schedules (Form ADV)","GET /api/regulatory-aum/:legalName":"Get regulatory AUM chart data (assets, employees, accounts)","GET /api/fund-holdings/:cik":"Get fund holdings data with pagination and filtering - supports ?quarter=2024-09-30&search=term&sortField=weight&sortDirection=desc&limit=20&offset=0","GET /api/fund-latest-quarter/:cik":"Get the most recent quarter with data from filings_summary","GET /api/fund-quarter-range/:cik":"Get min/max years and quarters available for a fund from filings_summary","POST /api/segment-analysis/analyze/:ticker/:segmentationType":"Analyze company segments for fast-growing opportunities - segmentationType: arps,qrps,args,qrgs","GET /api/segment-analysis/qualifying-companies":"Get companies with qualifying growing segments - supports ?segmentationType=arps&minQualifyingSegments=1&isLive=true&criteriaSet=15g_5min_35max_3y&limit=100&offset=0","GET /api/segment-analysis/qualifying-companies/count":"Get total count of companies with qualifying growing segments - supports same filters as qualifying-companies endpoint","GET /api/earnings-calendar/earnings":"Get earnings from earnings_calendar (Press Release) - ?start=YYYY-MM-DD&end=YYYY-MM-DD","GET /api/earnings-calendar/new-earnings":"Get earnings from new_earnings (8-K) - ?start=YYYY-MM-DD&end=YYYY-MM-DD","GET /api/all-funds":"Get all funds with pagination, sorting, filters - ?search=&view=most-recent&fundType=fund|mutual_fund&sortField=total_value&sortDirection=desc&limit=20&offset=0","GET /api/delisted/:cik":"Delisted company: exit date, reason, acquirer, checked exit price","GET /api/delisted/:cik/holders":"13F funds and value per quarter for a delisted company, top holders before exit","GET /api/company-search/autocomplete":"Search companies by symbol/name - supports ?q=AAPL&limit=4","GET /api/company-search/screener-options":"Get distinct values for screener criteria dropdowns (country, exchange, sic_group, sic_description, price_currency)","GET /api/company-profile/:symbol":"Get full company profile data from company_profile table","GET /api/company-logos/:symbol/url":"Presigned GET URL for company_logos/{SYMBOL}.png (Railway private bucket)","GET /api/company-logos/:symbol/image":"302 redirect to presigned logo URL","GET /api/storage/presign":"Presigned GET for allowlisted S3 keys — ?key=...&expiresIn= (optional)","GET /api/storage/redirect":"302 redirect to presigned URL — ?key=... (allowlisted prefixes only)","GET /api/company-presentation/:symbol":"Get most recent annual presentation (10-K preferred; 20-F / 40-F fallback)","GET /api/company-metrics/:symbol":"Get key metrics (products segmentation + income statement + cash flow) - supports ?period=annual|quarterly","GET /api/event-filings/company-links":"Get event filings from company_links - supports ?form_types[]=S-1&search=term&sort=acceptance_time&direction=desc&limit=25&offset=0","GET /api/event-filings/earning-presentations":"Get earning presentations - supports ?search=term&limit=25&offset=0","GET /api/event-filings/document-summaries":"Get document summaries - supports ?search=term&sort=acceptance_time&direction=desc&limit=25&offset=0","POST /api/track-investors/favorites/data":"Body: { funds, mutual_funds, search?, funds_only?, mutual_funds_only? }","POST /api/track-investors/favorites/summary":"Body: { funds, mutual_funds, tab: funds|mutual-funds, section? }","GET /api/overlap-matrix/investors":"Get investors for overlap matrix - supports ?category=fund|mutual_fund|favourite|all&search=&view=most-recent&limit=20&offset=0&favouriteCiks[]=&favouriteFundSymbols[]=","GET /api/overlap-matrix/date-bounds":"Get date bounds (min/max) from filings_summary + mutual_fund_holdings_summary with quarter options","GET /api/pdf/generate":"Generate PDF from HTML URL - ?url=<encoded_url>&filename=<optional_name>","GET /api/fiscal-year-focus/:cik":"Get fiscal year/period labels for report headers - supports ?acronym=arf5drs|qrf5drs"},"databases":{"Railway PostgreSQL":"Stores processed ownership data and configuration","XBRL PostgreSQL":"Raw filings data for direct queries"},"architecture":"Laravel Frontend → Ownership Client → [Railway DB + XBRL DB + Ownership-Service-JS] (Direct database access + microservice calls)","status":{"routing_fix":"mutual-funds/dates/all endpoint added to prevent conflicts with mutual-funds/:symbol parameterized route","deployment_needed":"These changes need to be deployed to production"}}