You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
823 B
Python

"""
Company metadata schemas for the dedicated /company endpoints.
"""
from typing import Any, Dict, List, Optional
from pydantic import BaseModel
class CompanyMetadataResponse(BaseModel):
ticker: str
name: Optional[str] = None
cik: Optional[str] = None
exchange: Optional[str] = None
sector: Optional[str] = None
industry: Optional[str] = None
country: Optional[str] = None
market_cap: Optional[float] = None
business_description: Optional[str] = None
class BulkCompanyRequest(BaseModel):
tickers: List[str]
class BulkCompanyItem(BaseModel):
ticker: str
data: Optional[CompanyMetadataResponse] = None
error: Optional[str] = None
class BulkCompanyResponse(BaseModel):
results: List[BulkCompanyItem]
total: int
success_count: int
error_count: int