Avnology ID
SDKsPython SDKType Reference

Type Reference

Python dataclass definitions for User, Session, Organization, TokenSet, and all SDK types.

Type Reference

All types are defined in avnology_id.types as dataclasses with full type hints.

User

from dataclasses import dataclass
from datetime import datetime

@dataclass
class User:
    id: str
    email: str
    email_verified: bool
    phone: str | None
    phone_verified: bool
    name: UserName | None
    avatar_url: str | None
    status: str  # "active", "disabled", "pending_deletion"
    organization_id: str | None
    locale: str | None
    timezone: str | None
    mfa_enabled: bool
    mfa_methods: list[str]
    metadata: UserMetadata
    created_at: datetime
    updated_at: datetime
    last_login_at: datetime | None
    verified_at: datetime | None

@dataclass
class UserName:
    first: str
    last: str

@dataclass
class UserTraits:
    name: UserName | None = None
    phone: str | None = None
    locale: str | None = None
    timezone: str | None = None
    avatar_url: str | None = None

@dataclass
class UserMetadata:
    public: dict[str, Any]
    admin: dict[str, Any]

Session

@dataclass
class Session:
    id: str
    active: bool
    expires_at: datetime
    authenticated_at: datetime
    issued_at: datetime
    authenticator_assurance_level: str  # "aal1" | "aal2"
    identity: Identity
    devices: list[DeviceInfo]
    authentication_methods: list[AuthMethod]

@dataclass
class Identity:
    id: str
    email: str
    email_verified: bool
    phone: str | None
    name: UserName | None
    organization_id: str | None
    metadata: dict[str, Any]
    created_at: datetime
    updated_at: datetime
    verified_at: datetime | None

@dataclass
class DeviceInfo:
    id: str
    user_agent: str
    ip_address: str
    location: str | None
    last_active_at: datetime

@dataclass
class AuthMethod:
    method: str  # "password", "webauthn", "totp", "oidc", "code"
    aal: str
    completed_at: datetime
    provider: str | None = None

Organization

@dataclass
class Organization:
    id: str
    name: str
    slug: str
    domains: list[str]
    registration_mode: str  # "open", "invite_only", "sso_only", "disabled"
    member_count: int
    sso_enabled: bool
    scim_enabled: bool
    metadata: dict[str, Any]
    created_at: datetime
    updated_at: datetime

@dataclass
class Member:
    user_id: str
    email: str
    name: UserName | None
    role: str  # "owner", "admin", "member", "viewer", "billing"
    joined_at: datetime
    last_active_at: datetime | None

TokenSet

@dataclass
class TokenSet:
    access_token: str
    refresh_token: str | None
    id_token: str | None
    token_type: str  # "Bearer"
    expires_in: int
    expires_at: datetime
    scope: str

Paginated lists

@dataclass
class UserList:
    users: list[User]
    next_page_token: str | None
    total_size: int

@dataclass
class SessionList:
    sessions: list[Session]
    next_page_token: str | None
    total_size: int

@dataclass
class OrganizationList:
    organizations: list[Organization]
    next_page_token: str | None
    total_size: int

See also

On this page