Validate an Audience against real surveys
Checks the Audience against a real survey (the benchmark) and returns at once: the work runs in the background and the response is the validation batch to poll. Give the survey in one of these ways: a listed survey (benchmarkId: study:<id>, a public survey the evidence pool holds, discovered:<id> found by a web search, or saved:<validationId>, a survey you supplied in an earlier validation; GET /audiences/validation-benchmarks?audienceId= ranks them), one or more listed surveys (benchmarkIds, 1 to 5: asked together in one run, with results per survey), a respondent-level dataset (dataset: a spreadsheet already attached to the Audience via sourceId, or any uploaded XLS/XLSX/CSV/SPSS-SAV file; Pro plan), survey files (files: questionnaire and results in PDF, XLS/XLSX/CSV/SPSS-SAV, DOC/DOCX, TXT, PowerPoint or ZIP; questions and response formats are read as custom Study mode reads an uploaded questionnaire, and published shares are kept only when a verbatim passage of the files, or a chart read from a PDF page layout or native PowerPoint chart, supports each one; a single respondent-level spreadsheet is treated as a dataset), or aggregated results you supply (benchmark). Listed surveys may be combined with files, which count as one additional survey toward the limit of five. To review public surveys before starting, search and list the benchmarks first, then send the selected benchmarkIds; no further surveys are discovered or substituted. Plans include validations that cost no synthetic responses, set per plan in billing: by default five runs per seat each billing month on Pro (pooled across the team), two on Starter, one on Free, and a contract number on Enterprise; earlier subscriptions keep the number their price was sold with. One run is one request, whether it asks one study or five, and a run that ends without a score or any included answers spent gives its slot back (included reports plan, perMonth −1 for unlimited, used, remaining, renewsAt, and thisRun). Scoring an existing run never takes an included validation and costs nothing. When no included validation is left a validation still starts and is billed like any Study, one synthetic response per Mind per question (responses shows what is left): studies chosen for you are fitted to the responses left, best fit first (outcome.fitted); when the responses left cannot pay for 8 questions for every ready Mind the request is refused with the standard responses plan-limit error before anything is read or queued, and a batch that runs short later ends failed with NOT_ENOUGH_RESPONSES with nothing spent. Studies chosen for you are checked question by question before anything is asked: a question is left out when the Audience's people cannot answer it, when its published answers are no fair target for this Audience (who answered differs in a way that changes the answer; a question published by age or region is narrowed to the Audience's own mix first), or when a better-fitting study asks it already (outcome.questionSelection, every question left out with its reason). A validation needs at least 8 such questions after every step; below that it ends failed with NOT_ENOUGH_QUESTIONS and nothing is spent (surveys you upload are asked as given). New private Audiences are validated automatically, once, as soon as their Minds are fully trained (every member fullyTrained on GET /audiences/{audienceId}/progress: done learning from its sources, a few minutes after the Audience is ready to chat), while included validations are left; Audiences created before automatic validation shipped are validated only on request. All surveys of a validation run in one Study (Validation run: <Audience>) that stays out of Study lists and limits. A validation someone started that ran longer than a few minutes emails that person when it finishes, with a link to the Audience's Validation tab. A validation needs at least 10 ready Minds. One validation asks at most 60 questions per survey and 30,000 answers in total. Poll GET /audiences/{audienceId}/validations/batches/{batchId} until status is completed, failed or cancelled: queued and preparing mean the surveys are being read and compared with the Audience's composition (a survey describing different people is reported under notComparable and nothing runs for it), running carries progress. POST .../batches/{batchId}/cancel stops a batch while canCancel is true, before any of its surveys is asked. Each scored survey carries score (100 − MAE) and its 95% range; GET /audiences/{audienceId}/validations/{validationId} has every KPI and question. To score a run that already exists, pass run: { studyId, runId }. Send requestKey (or an Idempotency-Key header) to make a retried request return the same batch.
Request
- Base URL: https://api.getminds.ai
- URL: https://api.getminds.ai/api/v1/audiences/{audienceId}/validations
- Auth: HTTP bearer
Path parameters
Request body
Response
Validation accepted and queued. data is the batch; included is what the plan includes and whether this run is one of them; responses is the synthetic responses left this month (remaining −1 = unlimited).
Changes
No recorded changes to this operation across all 1 revision of this API.