> ## Documentation Index
> Fetch the complete documentation index at: https://docs.deutero.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Notable changes to the Deutero Python SDK.

<Update label="0.2.0" description="2026-09-26">
  The SDK now targets the Deutero Study Management API (`https://dashboard.deutero.ai/study-api`), and every endpoint in its OpenAPI spec is covered. **This is a breaking release:** the 0.1.x endpoints (`/api/v1/surveys/...`, thematic analysis, credit estimates) aren't part of that API and have been removed.

  ### Added

  * **Projects**: list, create, get, update.
  * **Studies**: create, list per project, get, update, participation stats.
  * **Welcome and consent**: get or set the welcome message; list, upsert and delete translations.
  * **Screening** and **characteristics**: settings, plus create, update, delete and reorder questions.
  * **Questions**: list, create, update, delete, reorder, validate (ethics, language, redundancy).
  * **Interview flow** (`client.graph`): get, set, patch, check, signals, import from questions, activate and deactivate, describe node types; typed `FlowDocument`, `FlowNode`, `FlowEdge` and `PatchOp` models.
  * **Recruitment**: participation links, short-URL slug, quota and redirect.
  * **Embed**: publishable keys and install snippets.
  * **Personas and simulations**: persona CRUD and AI generation; start, list, poll and delete simulation runs.
  * **Interviews**: list with filters, look up by external participant ID, detail, transcript, data fetches and signals.
  * **Transcripts**: bulk export and string, semantic or hybrid search.
  * **Analysis**: analyzable questions, scale and options tallies, k-means clustering, optimal cluster count.
  * **Webhooks**: event types, endpoint CRUD, secret rotation, delivery log.
  * `client.health()`.
  * **Webhook receiving** (`deutero.webhooks`): `unwrap`, `verify`, `parse_event` and `sign` for Standard Webhooks-signed deliveries, covering organization events and interview-flow signals. Typed models for all seven organization event types, and `WebhookVerificationError`.
  * `PermissionDeniedError` (403, a subclass of `AuthenticationError`) and `ConflictError` (409).
  * `ModelTier.STANDARD`; new `NodeType`, `SearchMode` and `AnalysisCategory` enums.
  * **AI drafting**: `studies.draft` (from a research brief), `studies.draft_from_site` (from a landing page), `questions.generate` and `welcome.generate`.
  * **Publication**: `studies.get_publication`, `studies.validate`, `studies.publish` (with acknowledgement of methodological issues or a credit shortfall) and `studies.pause`; `status` on studies and study summaries.
  * **Test runs**: `test_runs` and `include_test_runs` filters on interview lists, lookups, transcripts and search; `test_run` on interview, transcript and search-hit models; `test_interviews` in study stats.

  ### Changed

  * The default base URL is now `https://dashboard.deutero.ai/study-api`.
  * `ModelTier.FRONTIER` is removed; the API treats `frontier` as a deprecated alias for `premium`.
  * FastAPI validation errors (a list in `detail`) are now summarized readably in the exception message.

  ### Fixed

  * The `X-API-Key` header is now sent when you pass your own `http_client`.
  * A custom `http_client` without a `base_url` now uses the SDK's base URL.

  ### Removed

  * `studies.generate`, `get_participation`, `get_agent_requirements`, `get/set_model_tier`, the old `questions.generate` and `questions.get`, `personas.generate(number_of_personas=)`, `interviews.simulate`, the thematic `analysis.*` methods, and `credits.estimate_*`, together with their models.
</Update>

<Update label="0.1.0" description="2025-04-14">
  Initial release.

  * Synchronous (`Deutero`) and asynchronous (`AsyncDeutero`) clients.
  * **Studies**: generate research studies (UX, sociology, customer development, polling), participation stats, model tiers, agent requirements.
  * **Questions**: generate interview questions; get and update individual questions.
  * **Personas**: generate interviewee personas.
  * **Interviews**: simulate interviews with generated personas.
  * **Analysis**: thematic analysis (phases 1–4), cross-case analysis (phase 5), status and results.
  * **Credits**: balance, and cost estimates for simulations, analysis and full surveys.
  * Typed Pydantic v2 models, a full exception hierarchy, `py.typed`, and context manager support.
</Update>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.