---
title: "Plan Build Stream"
method: GET
path: "/trips/{trip_id}/plans/build/stream"
tags: ["plan"]
---

# Plan Build Stream

`GET /trips/{trip_id}/plans/build/stream`

SSE relay of an onboarding plan build's `data-plan-*` deltas, so the trip
page fills in as the editor writes it.

Same Redis-Streams → SSE plumbing as the chat stream and the social import,
and deliberately NOT a chat stream: there is no conversation behind this and
no resume cursor to keep. Plan deltas are idempotent by id, so a reader that
attaches late simply replays from the top.

Registered above `/{plan_id}/…` — "build" would otherwise be captured as a
plan id by the route matcher.

## Path parameters

- `trip_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stardrift/fastapi/revisions/00746572572a/schema)
