Answer the application questionnaire
Records answers to the questionnaire on this application. Each entry points at one answer option by its position in the question tree and says whether it is selected. Requires the rental_applications:write permission.
Authorization
AuthorizationstringrequiredPath parameters
applicationIdstringrequiredThe rental application to work with. A Snowflake id, sent as a decimal string.
Body
application/json
Answers are merged into the stored questionnaire — options you do not mention keep their current state. Send every entry for one save in a single call; the whole batch is applied together or not at all.
answersAnswer[]requiredThe answer options to set.
Response
204 · The answers were saved. The response has no body — re-read the application to see the merged questionnaire.
400 · One of the entries broke a rule. The `errorCode` says which: `invalid_answer_path` for a path that is malformed, out of range, does not end on an answer, or is repeated in the same call; `not_multi_select` for selecting more than one option on a single-select question; `freeform_not_allowed` for text on an option that takes none, empty text on a selected freeform option, or text over 500 characters; `orphan_followup` for answering a follow-up whose parent option ends up unselected. Every one of them carries the offending `path`.
401 · The access token is missing, expired, or not valid.
403 · The caller is authenticated but does not hold the `rental_applications:write` permission.
404 · No questionnaire with this id exists on this rental application, or the rental application itself was not found.
This is not gated on the application's status — it works on a draft, on a submitted application, and on a retracted one. Only the applicant-facing portal locks an application once it is submitted.
Read questions from the rental application first. It is an object keyed by question category — general and employment — and each value is an ordered list of questions. A path walks that structure using zero-based positions:
| Path | What it points at |
|---|---|
general.0.answers.1 | Second option of the first general question |
employment.2.answers.0 | First option of the third employment question |
general.0.answers.1.followUps.0.answers.2 | Third option of the first follow-up under that second option |
If the result of your batch leaves a follow-up answer selected under an option that is not selected, the whole call is rejected with orphan_followup. Unselect the follow-ups in the same call as the parent.