---
title: "Generate Summary"
method: POST
path: "/api/vibe-search/summary"
tags: ["vibe-search"]
---

# Generate Summary

`POST /api/vibe-search/summary`

## Request

- Base URL: `https://ai.tacostreetlocating.com`
- URL: `https://ai.tacostreetlocating.com/api/vibe-search/summary`
- Auth: none declared

Generate an AI summary for search results. Called async by frontend after results load.

The request body is client-supplied, so everything that can be recovered
from server state is recovered rather than trusted: the criteria come from
the session transcript when we have it, and apartments are restricted to
the ones this session was actually shown. Otherwise an arbitrary caller
could put chosen text into an LLM prompt and bill it to any session id.

## Request body

- SummaryRequest
  - `criteria` object, required
  - `apartments` object[], required
  - `user_message` string, required
  - `city` string
  - `unparsed_requirements` string[], nullable
  - `relaxed_label` string, nullable
  - `session_id` string, nullable
  - `user_profile` object, nullable
  - `actions` object[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api.md) · [All operations](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api/revisions/e09e16f653cc?raw)
