Resolve Dynamic Auth Flow Step
Advances the flow by answering the current step. The body depends on the
last presentation’s type — do not mix the two shapes:
decision: send onlychoice(astep_idfromoptions). Do not sendoption_indexorvalues.form: sendoption_index(index intooptions) andvalues(field name → string). Do not sendchoice.
Do not call /resolve for detection_failed, authenticated, or failed.
For retryable detection_failed, a timeout, or a 409 (another transition
still in flight), poll GET .../state/{session_id} until a
decision/form/authenticated view appears, then continue. If
detection_failed is not retryable, open live_view_url to finish signing in.
Authorizations
API key passed in the header
Path Parameters
Session whose auth flow to advance.
Body
- form
- decision
Body depends on the last view.type. Use the decision shape or the form
shape — not both.
Response
Next presentation of the auth flow
- decision
- form
- detection_failed
- authenticated
- failed
Presentation returned by start/resolve. GET /state nests the same object as
view when there is something to show. Discriminated on type. Call /resolve
only for decision or form.
Hostname the flow was started for.
Human-readable label of the current login step.
Identifier of the current login step.
CDP websocket URL of the session driving the login.
URL to watch or take over the session in a browser.
decision Each item is { step_id, label, automatable }.
POST /resolve with { "choice": "<step_id>" }.
Set when automatic step detection hit an error. A partial flow may still be presented.

