---
title: "Guided"
method: POST
path: "/api/v1/specialist/guided"
---

# Guided

`POST /api/v1/specialist/guided`

## Request

- Base URL: `https://trovastorage.it` (the document declares no server; this is the origin it was published from)
- URL: `https://trovastorage.it/api/v1/specialist/guided`
- Auth: one of:
  - API key in header `X-Access-Token`
  - HTTP bearer

The buttons' answers in, the same answer as a chat turn out (M6.17).

No model is called, so the daily budget is neither checked nor spent: the
event is `specialist_guided`, not `specialist_intake`, which is the row
`_within_todays_budget` counts. The conversation it opens is an ordinary
one, and the free chat continues on it.

## Request body

- GuidedRequest: The buttons' answers. Always opens a new conversation: the guided start is the first turn or nothing, and the free chat carries on from it.
  - `operator_slug` string, nullable
  - `answers` GuidedAnswers, required: What the buttons said. Keys, never prose: an unknown key is a 422.
    - `purpose` string, nullable
    - `amount` string, required
    - `duration` string, nullable
    - `city` string, nullable
    - `urgency` string, nullable
    - `features` string[]
  - `lat` number, nullable
  - `lng` number, nullable

## Response `200`

Successful Response

- SpecialistMessageResponse
  - `conversation_id` string, uuid, required
  - `reply` string, required
  - `reading` SpecialistReading, required: How the request was read. Prose and estimates — never availability. Availability lives in `SpecialistMessageResponse.resolution`, which Python computed. Keeping them in separate objects is what stops a client from rendering the model's guess as a fact (M6.0).
    - `size_class_m2` integer, nullable, required
    - `size_band` string, nullable
    - `volume_m3_min` number, nullable, required
    - `volume_m3_max` number, nullable, required
    - `duration_months` integer, nullable, required
    - `constraints` string[], required
    - `features` string[], required
    - `confidence` number, required
    - `reasoning` string, required
    - `class_note` string, nullable, required
    - `next_question` string, nullable, required
  - `resolution` SpecialistResolution, required
    - `size_class_m2` integer, required
    - `band_min_m2` number, required
    - `band_max_m2` number, nullable, required
    - `radius_km` number, required
    - `free_count` integer, required
    - `centres` ResolvedCentre[], required
      - `site_id` string, uuid, required
      - `name` string, required
      - `city` string, required
      - `lat` number, required
      - `lng` number, required
      - `distance_km` number, required
      - `free_count` integer, required
      - `operator` string
      - `listing_url` string, nullable
      - `declared` string, nullable
    - `alternatives` ResolvedAlternative[], required
      - `kind` string, required
      - `size_class_m2` integer, required
      - `radius_km` number, required
      - `free_count` integer, required
      - `centres` ResolvedCentre[], required
        - `site_id` string, uuid, required
        - `name` string, required
        - `city` string, required
        - `lat` number, required
        - `lng` number, required
        - `distance_km` number, required
        - `free_count` integer, required
        - `operator` string
        - `listing_url` string, nullable
        - `declared` string, nullable
      - `dropped_features` string[]
    - `zero_results` boolean, required
    - `sites_in_range` integer
    - `coverage` string[]
    - `unavailable_features` string[]
    - `frees_up` ResolvedFreesUp[]
      - `site_id` string, uuid, required
      - `name` string, required
      - `distance_km` number, required
      - `free_from` string, date, required
    - `access_rules` string[]
  - `lat` number, nullable, required
  - `lng` number, nullable, required
  - `turns_left` integer, required
  - `summary` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/trovastorage/apis/stock-your-inventory.md) · [All operations](https://skmtc.dev/trovastorage/apis/stock-your-inventory/llms.txt) · [OpenAPI document](https://skmtc.dev/trovastorage/apis/stock-your-inventory/revisions/c75f591a585c?raw)
