API Reference

Data Models

Explore the strongly typed return objects defined by the Aether SDK.

Models Breakdown

Type definitions for all objects returned by the Aether SDK. Use these as a reference when working with API responses or building your own client.

@dataclass
class DocumentRecord:
    doc_id: str
    cid: str
    title: Optional[str] = None
    content_type: str = "text/plain"
    size_bytes: int = 0
    chunks: int = 0
    vectors: int = 0
    version: int = 1
    created_at: Optional[str] = None
    updated_at: Optional[str] = None
    entity_id: Optional[str] = None
    thread_id: Optional[str] = None
    turn_index: Optional[int] = None
    tags: list[str] = field(default_factory=list)
    metadata: dict[str, str | int | float | bool] = field(default_factory=dict)
    source: Optional[str] = None
    modality: Optional[str] = None       # "image" or "audio"
    derived_text: Optional[str] = None   # media caption/transcript

@dataclass
class SearchResult:
    doc_id: str
    score: int                    # relevance score, 0-100; higher is better
    title: Optional[str] = None
    content_type: str = "text/plain"
    entity_id: Optional[str] = None
    thread_id: Optional[str] = None
    turn_index: Optional[int] = None
    tags: list[str] = field(default_factory=list)
    metadata: dict[str, str | int | float | bool] = field(default_factory=dict)
    source: Optional[str] = None
    created_at: Optional[str] = None
    passage: Optional[str] = None    # the specific chunk that matched the query
    modality: Optional[str] = None   # "image" or "audio"

@dataclass
class RetrievalResult:
    doc_id: str
    score: int                    # relevance score, 0-100; higher is better
    content: str                     # full text, or media caption/transcript
    title: Optional[str] = None
    content_type: str = "text/plain"
    thread_id: Optional[str] = None
    turn_index: Optional[int] = None
    metadata: dict[str, str | int | float | bool] = field(default_factory=dict)
    passage: Optional[str] = None
    modality: Optional[str] = None

@dataclass
class ConversationThread:
    thread_id: str
    documents: list[DocumentRecord] = field(default_factory=list)