POST /v1/intakes takes a free-form responses object, but the prescriber’s intake document is built from a fixed
questionnaire. Each answer is looked up by its key (the id below). A key that isn’t on this list isn’t matched:
the question shows Not answered, and your value appears only under “Additional information”. Nested objects and
arrays of objects are printed as raw text, so send plain strings, numbers, booleans and arrays of strings.
The response to
POST /v1/intakes includes a warnings object that tells you what didn’t match, so you can fix the
mapping in testing without waiting for a document: unknown_keys, missing_required, invalid_values and complete.
Warnings never block the request.Example that matches the form
"warnings": { "complete": true, "unknown_keys": [], "missing_required": [], "invalid_values": [] }.
Which questions apply
category: "async"answers the general set (Set A).category: "hormone"— or any intake whosetreatment_needincludeshormone_hrt— adds the hormone set (Set B).- Questions marked “Asked when” are required only when their condition is true.
- Height is text such as
5'6"; weight is a number in pounds. Convert from metric before sending. - Gender controls which pregnancy and sex-specific questions apply. Use
female,male,nonbinaryorprefer_not_say.
General questions (Set A)
What do you need today?
Identity & contact
Medications & allergies
Medical history
Vitals & body metrics
Pregnancy
Reason for treatment
Attestations
Hormone questions (Set B)
Added whencategory is hormone.

