Simulate interview
/v1/api/studies/{study_id}:simulate Requires studies:writeIn Test mode, simulate the interview before the user selects Go live: Juno plays both sides — the interviewer runs the study's real interview, and a synthetic participant answers it — producing a sample transcript. Optionally steer the participant with a persona description. Simulation runs in the background: this returns a job_id; poll Check a simulation to watch the transcript grow turn by turn. Simulation uses no credits, provides no analysis or exports, and is not real participant research. The current endpoint does not enforce mode=test; developers must treat that as the product contract.
Parameters
study_id string <uuid> Request body application/json
persona string · nullable Optional plain-language description of the synthetic participant (e.g. 'a skeptical enterprise buyer who churned last month'). When omitted, Juno invents a plausible participant for the study.
max_turns integer Maximum number of interview turns to simulate. The interview may finish naturally in fewer turns.
Responses
job_id string Simulation job handle. Poll GET /v1/api/simulations/{job_id} to watch the transcript grow and to learn when it completes.
ValidationError[] curl -X POST 'https://api.heyjuno.co/v1/api/studies/3fa85f64-5717-4562-b3fc-2c963f66afa6:simulate' \
-H 'Authorization: Bearer $JUNO_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"persona": "string",
"max_turns": 12
}'{
"job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}