Skip to content

Answer Agent Discovery

POST
/agent/onboarding/discovery/answer

Record ONE graded answer.

grade is not decoration. A red grade stores NO VALUE and burns a rung of the probe ladder - the agent asks again a different way rather than keeping a guess. Storing an unusable answer as data is how a confident, wrong ICP gets built.

field_key must be a real framework field; anything else is refused by the handler by name rather than being written as a stray key.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirror of DiscoveryAnswerRequest.

grade is the customer’s own confidence in the answer and it is REQUIRED on the app model - it has no default there, so omitting it would raise inside the proxy rather than 422 here.

object
field_key
required

Which discovery field this answers.

string
grade
required

Confidence in the answer: green (certain), amber (a working assumption) or red (a guess). Amber and red answers come back in coverage.amber_fields so they can be revisited.

string
move_number
Any of:
integer
session_id
Any of:
string
source

Who supplied it. Defaults to user.

string
default: user
value

The answer. Shape depends on the field.

Responses

200

Successful Response

object
data
required

An open envelope for an onboarding or discovery result.

Open on purpose. Discovery state carries a per-field coverage matrix whose field set is the product’s own onboarding questionnaire - it changes as the questionnaire does, and a pinned mirror would silently DROP a field the customer had answered. On a surface whose whole job is “what do we still not know about you”, a dropped field reads as an answered question.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string