Skip to main content
When the managed agent hits a mapping it genuinely can’t settle on its own — the data, your templates, and the source all leave it ambiguous — the run pauses at 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 an x-api-key header. See Authentication.

What you get to render

A blocked poll response looks like this:
Each question is self-describing — you can render it in your UI without knowing anything about Vern’s internals.
id
string
Stable identifier you echo back in your answer.
question
string
The question, in plain language. Show it as the field label.
context
string
Optional extra detail about why the agent is asking. May be absent.
options
object[]
Suggested answers, each { id, label }. Render them as choices (radio buttons, a select, buttons). May be empty for an open-ended question.
allowCustom
boolean
When true, let the customer type a free-text answer instead of picking an option.

Answering

Send answers 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.
answers
object[] | string
required
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.
The agent applies your answer and resumes. If it can now finish, the run reaches 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.
This endpoint is for question blocks (blocked_reason: "question") only. A run blocked for credentials (blocked_reason: "credentials") rejects a message with 409 — so secrets never land in the agent thread. Send those through Submit credentials instead.
Your reply is echoed back on later poll responses as answers, so a UI can show what was submitted.

Response

200 OK
Resume polling the run until it reaches a terminal status.

Errors

Example

Next