Skip to main content
Use this endpoint to retrieve the questionnaire for a test record from the Braintest analyst engine. The response is either a flat JSON questions[] array (when the test has a JSON definition) or a rendered HTML form (when the test uses an HTML template).

Endpoint

Headers

Path parameters

string
required
The UUID token of the test record.

Prerequisites

  • Profile authenticated (auth_required is false on the record).
  • If the organizer has tests_auth_required: true, complete POST /record/{token}/auth/ followed by PUT /record/{token}/auth/verify/ first.
  • Record must not be finished; billing/VIP checks must pass. Otherwise the endpoint returns 403 or 409.

Response formats

The analyst chooses the delivery format per test. There is no sections wrapper: questions are a flat array in display order.

JSON response fields

string
Test identifier. Matches the test_id on the record (for example, MCMI, NEO, DASS21).
string | null
Optional instruction text shown before the questions.
array
Flat array of questions in display order. Each item contains:
Each option object contains:
integer
Value to submit in the record array for this question when the participant selects this option.
string
Display order label.
string
Option label shown to the participant. Do not send this string as the answer.
string | null
Optional audio path.
string | null
Optional image path.

Example request

Example response (JSON questionnaire)

Submitting answers

Call POST /record/{token}/ with record as an array with one entry per question, in the same order as questions[]:
  • Option questions → the selected option’s id (integer).
  • Free-text questions (answer.text: true) → the participant’s string answer.
Example for a 3-item test: [1, 0, "my written answer"]. Allowed values and array length are validated by the analyst for each test (for example, MCMI expects 195 integers of 0 or 1).

Example response (HTML questionnaire)

When the analyst uses an HTML template, data contains only an html string:
Embed the html string in an iframe or WebView. HTML forms are designed for the Braintest panel flow; for deep external integration, prefer tests that return JSON so you control the UI and submit via POST /record/{token}/.

Errors