> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replo.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Version 2026-10-05

## Agent questions

`GET /v1/agent/sessions/{sessionId}` now lists pending questions beside permission requests in `pendingInteractions`. A question has `type: "question"` and a `form` response contract: ordered `steps`, each with a `prompt`, a `header` (null when the agent gave none), `multiple`, `allowCustom`, and `options` whose `value` is what you send back.

Answer with `POST /v1/agent/sessions/{sessionId}/interactions/{interactionId}/resolve` and a body of `{ "type": "question", "answers": [...] }`: one array per step, in order, holding the chosen option values, or the user's own text where that step has `allowCustom: true`. An empty array skips a step. Each value is at most 16,000 characters, and a step takes at most 100 values. The response is the refreshed session status. Answers that do not fit the form return 400. A question the agent is no longer waiting on returns 409.

`POST /v1/agent/sessions/{sessionId}/messages` returns 409 while a question is pending, as it already did for permission requests, and the error message says how to answer it. The public MCP exposes the same flow: `get_agent_session` lists the question, and `resolve_agent_interaction` now takes `type: "question"` with `answers` as well as permission decisions.

## Migration

Requests pinned to `2026-09-08` or earlier keep receiving permission-only `pendingInteractions`, and `latestTool` behaves as before. They never list a question, but the resolve endpoint accepts a question answer on every version, so a client can answer a question id it got elsewhere (for example from the dashboard) without upgrading.

Two behaviors change on every version:

* `POST /v1/agent/sessions/{sessionId}/messages` returns 409 while the agent waits on a question. Before, the message was accepted but never ran; it waited behind the question until the turn was stopped. To continue, move to `2026-10-05` and answer the question, answer it at the session's `dashboardUrl`, or abort the session.
* `POST /v1/agent/sessions/{sessionId}/interactions/{interactionId}/resolve` with `type: "permission"` returns 409 when that permission is no longer pending, for example because someone already decided it in the dashboard. Before, it returned 200 with the refreshed status, so a client could report a decision that never reached the agent. Fetch the session again to see what is pending.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.