1pub const ANNUAL_PERIOD: &str = "annual";
9
10pub const QUARTER_PERIOD: &str = "quarter";
12
13pub const ANNUAL_LIMIT: u16 = 5;
15
16pub const NEWS_LIMIT: u16 = 10;
18
19pub const PAGE: u16 = 0;
21
22#[derive(Clone, Copy, Debug, Eq, PartialEq)]
24pub struct Endpoint {
25 path: &'static str,
26}
27
28impl Endpoint {
29 #[must_use]
31 pub const fn new(path: &'static str) -> Self {
32 Self { path }
33 }
34
35 #[must_use]
37 pub const fn path(self) -> &'static str {
38 self.path
39 }
40}
41
42pub const SEARCH_SYMBOL: Endpoint = Endpoint::new("search-symbol");
44pub const PROFILE: Endpoint = Endpoint::new("profile");
46pub const KEY_EXECUTIVES: Endpoint = Endpoint::new("key-executives");
48pub const QUOTE: Endpoint = Endpoint::new("quote");
50pub const BATCH_QUOTE: Endpoint = Endpoint::new("batch-quote");
52pub const HISTORICAL_PRICE_EOD_FULL: Endpoint = Endpoint::new("historical-price-eod/full");
54pub const CRYPTOCURRENCY_LIST: Endpoint = Endpoint::new("cryptocurrency-list");
56pub const STOCK_PEERS: Endpoint = Endpoint::new("stock-peers");
58pub const STOCK_LIST: Endpoint = Endpoint::new("stock-list");
60pub const ETF_HOLDINGS: Endpoint = Endpoint::new("etf/holdings");
62pub const DIVIDENDS: Endpoint = Endpoint::new("dividends");
64pub const SPLITS: Endpoint = Endpoint::new("splits");
66pub const SEC_FILINGS_SEARCH_SYMBOL: Endpoint = Endpoint::new("sec-filings-search/symbol");
68pub const EARNINGS_CALENDAR: Endpoint = Endpoint::new("earnings-calendar");
70pub const TREASURY_RATES: Endpoint = Endpoint::new("treasury-rates");
72pub const TECHNICAL_SMA: Endpoint = Endpoint::new("technical-indicators/sma");
74pub const STOCK_PRICE_CHANGE: Endpoint = Endpoint::new("stock-price-change");
76pub const SHARES_FLOAT: Endpoint = Endpoint::new("shares-float");
78pub const FINANCIAL_REPORTS_DATES: Endpoint = Endpoint::new("financial-reports-dates");
80pub const FINANCIAL_REPORTS_JSON: Endpoint = Endpoint::new("financial-reports-json");
82pub const INCOME_STATEMENT: Endpoint = Endpoint::new("income-statement");
84pub const INCOME_STATEMENT_AS_REPORTED: Endpoint = Endpoint::new("income-statement-as-reported");
86pub const BALANCE_SHEET_STATEMENT: Endpoint = Endpoint::new("balance-sheet-statement");
88pub const CASH_FLOW_STATEMENT: Endpoint = Endpoint::new("cash-flow-statement");
90pub const RATIOS: Endpoint = Endpoint::new("ratios");
92pub const KEY_METRICS: Endpoint = Endpoint::new("key-metrics");
94pub const INCOME_STATEMENT_GROWTH: Endpoint = Endpoint::new("income-statement-growth");
96pub const BALANCE_SHEET_STATEMENT_GROWTH: Endpoint =
98 Endpoint::new("balance-sheet-statement-growth");
99pub const CASH_FLOW_STATEMENT_GROWTH: Endpoint = Endpoint::new("cash-flow-statement-growth");
101pub const ENTERPRISE_VALUES: Endpoint = Endpoint::new("enterprise-values");
103pub const FINANCIAL_SCORES: Endpoint = Endpoint::new("financial-scores");
105pub const ANALYST_ESTIMATES: Endpoint = Endpoint::new("analyst-estimates");
107pub const GRADES: Endpoint = Endpoint::new("grades");
109pub const PRICE_TARGET_CONSENSUS: Endpoint = Endpoint::new("price-target-consensus");
111pub const PRICE_TARGET_SUMMARY: Endpoint = Endpoint::new("price-target-summary");
113pub const GRADES_CONSENSUS: Endpoint = Endpoint::new("grades-consensus");
115pub const RATINGS_HISTORICAL: Endpoint = Endpoint::new("ratings-historical");
117pub const INSIDER_TRADING_LATEST: Endpoint = Endpoint::new("insider-trading/latest");
119pub const INSIDER_TRADING_SEARCH: Endpoint = Endpoint::new("insider-trading/search");
121pub const ECONOMIC_INDICATORS: Endpoint = Endpoint::new("economic-indicators");
123pub const STOCK_NEWS: Endpoint = Endpoint::new("news/stock");
125pub const GENERAL_NEWS: Endpoint = Endpoint::new("news/general-latest");
127pub const FMP_ARTICLES: Endpoint = Endpoint::new("fmp-articles");
129pub const FOREX_NEWS: Endpoint = Endpoint::new("news/forex-latest");
131pub const CRYPTO_NEWS: Endpoint = Endpoint::new("news/crypto-latest");
133pub const UPGRADES_DOWNGRADES: Endpoint = Endpoint::new("upgrades-downgrades");
135pub const RATINGS_SNAPSHOT: Endpoint = Endpoint::new("ratings-snapshot");
137pub const EARNINGS_SURPRISES: Endpoint = Endpoint::new("earnings-surprises");
139pub const COMPANY_OUTLOOK: Endpoint = Endpoint::new("company-outlook");
141pub const ETF_LIST: Endpoint = Endpoint::new("etf-list");
143pub const DELISTED_COMPANIES: Endpoint = Endpoint::new("delisted-companies");
145pub const EARNINGS: Endpoint = Endpoint::new("earnings");
147pub const REALTIME_QUOTE: Endpoint = Endpoint::new("quote");
149pub const PRICE_TARGET: Endpoint = Endpoint::new("price-target");
151pub const FINANCIAL_STATEMENT_GROWTH: Endpoint = Endpoint::new("financial-growth");
153pub const ETF_INFO: Endpoint = Endpoint::new("etf/info");
155pub const MARKET_RISK_PREMIUM: Endpoint = Endpoint::new("market-risk-premium");
157pub const MARKET_HOURS: Endpoint = Endpoint::new("all-exchange-market-hours");
159pub const AFTERMARKET_QUOTE: Endpoint = Endpoint::new("aftermarket-quote");
161pub const AFTERMARKET_TRADE: Endpoint = Endpoint::new("aftermarket-trade");