Answer Behavioural Questions
answer_behavioural_questionsAnswer open behavioural questions, many in one call. Mutating; creates a model version.
Instructions
Answer open behavioural questions, many in one call. Mutating; creates a model version.
get_behavioural_model (or get_review_queue, as
behavioural_question rows) lists the open questions. Answer only from
what the code or the owner shows, and say unknown where it does not: a
guess becomes a stated fact. Answer what each question asks and no more,
in a sentence or two: whatever else an answer describes is modelled, and
each new part is asked about in turn, so a detailed answer opens more
questions than it closes. Each answer is kept as a clarification. The
model is extracted once every open owner question has an answer, or when
extract_now=True asks for it (with no answers, it extracts with those
already collected). That extraction is billed to the caller; a balance
that cannot cover it is refused (402).
An answer is a fact (text) unless it names a disposition the
question's dispositions lists: not_needed (the gap does not
matter to what the system does), not_behaviour (the sentence
describes no behaviour), unknown (nobody can say; it stays visible as
an accepted unknown) or as_stated (the model's reading of the
structure the question names is what the system does). Its text is
then an optional note. Use unknown rather than a guess. A question
with no dispositions takes a fact only: one about the model's own
structure has no worst case to fall back on, so any disposition is
refused (422).
A program's answer is a judgment. Unless the workspace's delegation
policy admits it, it is refused with 403 and an escalation_id and
parked for a person. Do not retry: report the escalation_id and poll
list_proposals.
Returns at once with the answers stored. When an extraction was asked
for, queued is true and it runs in the background (up to an hour on
a long description): poll get_behavioural_model until
extraction.job is null, then read the new questions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| answers | No | JSON array of ``{"question_id": "...", "text": "...", "disposition"?: "..."}``. Example: '[{"question_id": "q1", "text": "Only the owner can delete a record."}, {"question_id": "q2", "disposition": "unknown"}]'. Empty to extract with answers collected. | [] |
| model_id | Yes | ID of the threat model. | |
| extract_now | No | Extract now, with the answers given and those already collected. | |
| server_version | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||