Skip to content

elicit_result

Fetch the outcome of a decided request — the final step of the Approval Flow.

After elicit_await or elicit_status reports a decision. Calling it earlier errors: while the request is still pending, and also after it has expired undecided. Once the reviewer has decided, it succeeds for either outcome — approved or rejected — both are fetchable, not just approvals.

Parameter Type Required Description
elicitationId string yes The id returned when the request was created.
{ "elicitationId": "" }

Idempotent: every fetch is recorded as a consumed audit event, and repeat calls return the same result — for as long as the record is retained (90 days; see Data Retention).

{
"status": "consumed",
"decision": "approved",
"context": { "target": "prod" },
"formSubmission": { "approver": "Ada", "confidence": 95 }
}
  • decision — the reviewer’s approved / rejected choice.
  • context — the read-only payload from elicit_approval (or elicit_proposal), echoed back verbatim (null if none was supplied). Never a value the agent re-supplies — the human approved what actually runs.
  • formSubmission — the reviewer’s validated field values, keyed by requestedSchema property name (null in JSON mode, i.e. when no requestedSchema was given).
  • elicit_selection adds selectedIds — the chosen option ids, present when decision is approved.
  • elicit_proposal adds action ("submit" when decision is approved, "cancel" when rejected) and, on submit, values (only the fields the reviewer included). A cancelled proposal is fetchable like any other decided request — it returns { "action": "cancel", "decision": "rejected", … } rather than erroring.