blocked instead of guessing. The
poll response then carries plain-language questions
for you to render in your own product, and this endpoint is how you send the
answer back.
Nothing changes while a run waits here. The agent is suspended; your answer is
what resumes it — the run flips back to running.
Authentication
Requires anx-api-key header. See Authentication.
What you get to render
Ablocked poll response looks like this:
Stable identifier you echo back in your answer.
The question, in plain language. Show it as the field label.
Optional extra detail about why the agent is asking. May be absent.
Suggested answers, each
{ id, label }. Render them as choices (radio buttons,
a select, buttons). May be empty for an open-ended question.When
true, let the customer type a free-text answer instead of picking an
option.Answering
Sendanswers as either the structured form — one { id, value } per
question — or a free-form string when you’d rather just tell the agent what to
do. Both resume the run.
Structured: one
{ id, value } per question you’re answering, where id
matches the question and value is the chosen option’s label or free text.
Free-form: a plain string the agent reads as your reply.awaiting_approval (for a generate/update) or completed; if another mapping is
still ambiguous, it blocks again with a fresh question — keep
polling and answering until it’s terminal.
Answering only applies to a
blocked run. To steer a migration outside of a
block — to correct a mapping after reviewing the preview — start an
update or clarify run instead.answers, so a UI can show what was submitted.
Response
200 OK
Errors
Example
Next
- Poll a run — track the resumed run.
- Submit credentials — resume a credential block instead.
- Get the preview — review the result.