Documentation
Tenant Types
Organization/tenant management types
TenantSettings
Tenant configuration and usage information
@dataclass(frozen=True)class TenantSettings: id: str name: str owner_user_id: str created_at: datetime updated_at: datetime is_active: bool webhook_url: Optional[str] allowed_vlm_providers: list[str] allowed_domains: list[str] max_monthly_credits: int max_requests_per_minute: int custom_config: dict[str, Any] subscription_tier: str # "free" | "starter" | "professional" | "enterprise" subscription_expires_at: Optional[datetime] current_month_credits: int current_month_cost: float total_credits: int total_cost: floatTenantLimits
Tenant limits and usage quotas
@dataclass(frozen=True)class TenantLimits: limits: dict[str, int] # Maximum allowed values usage: dict[str, int] # Current usage values remaining: dict[str, int] # Remaining quota
# Helper methods def get_limit(self, name: str) -> Optional[int]: ... def get_usage(self, name: str) -> Optional[int]: ... def get_remaining(self, name: str) -> Optional[int]: ...TenantMember
Tenant member information
@dataclass(frozen=True)class TenantMember: id: str email: str name: str role: str # "owner" | "admin" | "editor" | "viewer" joined_at: datetime last_active_at: Optional[datetime]
@property def role_enum(self) -> MemberRole: ...MemberRole (Enum)
Tenant member role levels
class MemberRole(str, Enum): OWNER = "owner" # Full control, billing, member management ADMIN = "admin" # Settings, audit logs, but not billing EDITOR = "editor" # Create/edit content VIEWER = "viewer" # Read-only access