Unreleased
- Added public reference catalogs for languages, interview modes, voice choices, and study-type planning templates, plus a versioned interview usage read. MCP resources and the usage tool now use these public routes.
-
BYOP participant invitations accept a study-scoped
external_idand bounded scalarmetadataon creation. Participant reads return both fields, lists can filter by exactexternal_idwithstudy_id, and PATCH can update or clear the customer ID or replace metadata. -
Interview and participant lists now default to 20 results per page, matching studies and feasibility requests. Set
page_sizeexplicitly to retain a different page size. -
PATCH /api/public/v1/participants/{participant_id}updates the participant email. The olderPUToperation remains available but is deprecated; the MCP update tool now uses PATCH. -
The API host serves the curated public specification at
/.well-known/openapi.jsonas well as/openapi.jsonin production. -
Interview summaries include
ended_at,interview_format, andlanguage.languageis the study’s current configured language, not a detected transcript language; older interviews may have used a previous setting. Unknown historical modes remainnull. -
Transcript
messagesnow have a typed public segment schema:id,role,message, and optionaltext_offset,start_s, andend_s. The response remains paged and bounded. -
DELETE /api/public/v1/webhooks/is deprecated. UseDELETE /api/public/v1/webhooks/{webhook_id}; the body-based route continues to work during migration. - The OpenAPI Bearer security scheme no longer labels every credential as a JWT. It continues to accept both API keys and dashboard tokens.

