# Changelog

All notable changes to this project will be documented in this file.

## [0.3.0] - 2025-01-23

### Changed

- Migrate API paths from `/api/v1` to `/v1`

## [0.1.0] - 2025-01-08

### Initial Release

Python SDK for the SigninID sandbox email testing API.

### Features

- **Inbox Operations**
  - `inbox.wait_for_new()` - Poll for new emails with configurable timeout (ideal for E2E tests)
  - `inbox.latest()` - Get the most recent inbox email
  - `inbox.get()` - Retrieve a single email by ID
  - `inbox.list()` - List inbox email IDs with pagination and filters

- **Sent Operations**
  - `sent.latest()` - Get the most recent sent email
  - `sent.get()` - Retrieve a single sent email by ID
  - `sent.list()` - List sent email IDs with pagination and filters

- **Core Features**
  - Automatic OTP detection (`detected_otp` field)
  - Full type annotations for IDE autocompletion
  - Sync and async client support (`SigninID`, `AsyncSigninID`)
  - Query filters: `from_`, `to`, `subject`, `before`, `after`
  - Page-based pagination

- **Error Handling**
  - `AuthenticationError` - Invalid or missing API key (401)
  - `ValidationError` - Invalid request parameters (400)
  - `RateLimitError` - Too many requests (429)
  - `NetworkError` - Network connectivity issues
  - `TimeoutError` - Request timeout exceeded

### Requirements

- Python 3.10 or later
