---
title: "Resolve Task (Streaming)"
method: POST
path: "/chats/{chatId}/messages/resolve/stream"
tags: ["Messages"]
---

# Resolve Task (Streaming)

`POST /chats/{chatId}/messages/resolve/stream`

Resolves a pending task in a chat and returns a Server-Sent Events stream. Events include the initial assistant-message snapshot, content chunk deltas, final usage, and a closing message snapshot. The response is `text/event-stream`; each event is `data: <JSON>\n\n` where the JSON conforms to MessageStreamEvent.

## Path parameters

- `chatId` string, required — The unique identifier of the chat.

## Request body

- object
  - `task` union, required — The task resolution data. Use this when the chat is waiting for user input on the matching task type.
    - object — Resolves an integration installation task. The agent asked the user to install integrations, MCP presets, or set environment variables. Send this after provisioning the integration on Vercel.
      - `type` 'confirmed-steps', required
      - `connectedIntegrationNames` string[] — Names of integrations that were successfully connected (e.g. "Neon", "Supabase"). Pass an empty array to skip.
      - `connectedMcpPresetNames` string[] — Names of MCP presets that were connected (e.g. "Linear", "Sentry"). Pass an empty array to skip.
      - `appliedScripts` string[] — Names of scripts that were applied.
      - `addedEnvVars` string[] — Names of environment variables that were added.
    - object — Resolves a plan review task. The agent proposed an implementation plan and is waiting for approval.
      - `type` 'plan-exit-response', required
      - `status` 'approved' | 'rejected' | 'request-changes', required — Whether the plan is approved, rejected, or needs changes.
      - `content` string, required — Feedback or instructions for the agent.
    - object — Resolves a question task. The agent asked the user one or more multiple-choice questions.
      - `type` 'answered-questions', required
      - `answers` object[], required — Answers to the questions the agent asked.
        - `questionId` string, required — The ID of the question being answered.
        - `questionText` string, required — The text of the question being answered.
        - `selectedLabels` string[], required — The labels of the selected options. For single-select questions, pass one item.
        - `customText` string — Free-form text input, used when the user selects "Other" or wants to add context.
    - object — Resolves a permission request task. The agent wants to execute a tool (shell command, script, MCP call) and needs approval. Also used to resolve environment variable prompts.
      - `type` 'confirmed-permissions', required
      - `permissions` object[], required — The permissions to grant. Pass the suggestedPermissions from the stopped task.
        - `type` 'ALLOW_DYNAMIC_TOOL_STRICT', required
        - `toolName` string, required — The name of the tool being permitted.
        - `input` unknown, required
        - `taskNameActive` string, nullable — Label shown while the tool is running (e.g. "Running migration").
        - `taskNameComplete` string, nullable — Label shown after the tool completes (e.g. "Migration complete").
        - `userMessage` string — Optional message from the user about this permission.
      - `userMessage` string — Optional message from the user about the permission grant.
    - object — Resolves a Vercel Connect setup task. The agent asked the user to complete connector setup in a browser (a `configure_vercel_connect` agent action with `status: "setup-required"`). Complete setup at the action’s `setupUrl`, poll GET /chats/{chatId}/connect/status until it returns `ready`, then send this task. The server verifies the setup result and attaches the connector; no connector ID is needed. Returns 409 if setup is still pending or failed, or 404 if setup has not started or the request expired.
      - `type` 'vercel-connect-setup', required
  - `modelConfiguration` object — Overrides for the model behavior.
    - `modelId` 'v0-mini' | 'v0-pro' | 'v0-max' | 'v0-max-fast' — Model to use for the generation.
    - `imageGenerations` boolean — Enables image generations to generate up to 5 images per version.

## Response `200`

A single Server-Sent Events payload emitted by the streaming send-message endpoint. Each SSE event is `data: <JSON>\n\n` where the JSON conforms to one of the union members.

## Other responses

- `401` — Response for status 401
- `403` — Response for status 403
- `404` — Response for status 404
- `409` — Response for status 409
- `422` — Response for status 422
- `500` — Response for status 500

---

[API](https://skmtc.net/vercel/apis/v0-platform-api-beta.md) · [All operations](https://skmtc.net/vercel/apis/v0-platform-api-beta/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/v0-platform-api-beta/versions/7c7a496f8022/schema)
