---
title: "Project Planner agent chat (streaming)"
method: POST
path: "/v2/projects/{id}/agent"
tags: ["Projects"]
---

# Project Planner agent chat (streaming)

`POST /v2/projects/{id}/agent`

## Request

- Base URL: `https://api.village.ai`
- URL: `https://api.village.ai/v2/projects/{id}/agent`
- Auth: HTTP bearer

Streaming agentic endpoint. Body is `{ messages: UIMessage[] }` (AI SDK shape). Server runs the Project Planner agent and streams UI messages back. When the agent emits its final structured plan, the route validates and persists it, then fires Temporal orchestration.

## Path parameters

- `id` string, required: Encrypted project identifier

## Request body

- object
  - `messages` unknown[], required
    - unknown

## Response `200`

UI message stream (SSE)

- object
  - `data` object, required
  - `metadata` object, required
    - `request_id` string, required

## Other responses

- `400`: Bad request - invalid parameters
- `401`: Unauthorized - missing or invalid authentication

---

[API](https://skmtc.dev/village/apis/village-v2-api.md) - [All operations](https://skmtc.dev/village/apis/village-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/village/apis/village-v2-api/revisions/aebe21a1a544?raw)
