API v0
Requesting answers
Custom answer fields
Define the fields each expert fills in. Every completed request returns a JSON Schema for them.
answer_fields is your output schema. Define as many fields as you need. Each expert fills them in, plus a free comment. A preset fills in defaults, which you can add to or replace.
Each entry has a name, a type and a description, plus options for choice fields, unit where it helps, and min / max for scales.
Types
| Type | Value an expert returns | Example |
|---|---|---|
text | string | "Last two weeks of the quarter" |
number | number | 42 |
range | {"low": n, "high": n} | {"low": 25, "high": 30} |
percent | number, 0–100 | 25 (never 0.25) |
currency | {"amount": n, "currency": "USD"} | {"amount": 1200000, "currency": "USD"} |
date | ISO 8601 date | "2026-03" or "2026-03-15" |
boolean | true / false | true |
choice | one of options | "increase" |
multi_choice | array of options | ["price", "fit"] |
scale | integer within min–max | 4 |
list | array of strings | ["Patient demand"] |
Unanswered fields
Any field an expert can't answer is null, and responses[].unanswered lists its name.
Validation and schema
Known fields are typed and validated. An unknown key outside custom returns 400 invalid_request naming the key, so a typo is never silently ignored. Each completed request returns answer_schema, a JSON Schema for responses[].fields in which every property is nullable. For the OpenAPI spec, contact us.
Answer field definition
Next
Reusing past answers →