---
title: "Discover Attractions"
method: POST
path: "/api/v1/planner/discover-attractions"
tags: ["planner"]
---

# Discover Attractions

`POST /api/v1/planner/discover-attractions`

## Request

- Base URL: `https://yondry.app` (the document declares no server; this is the origin it was published from)
- URL: `https://yondry.app/api/v1/planner/discover-attractions`
- Auth: HTTP bearer

Return highly-rated, popular places near the given coordinates.

Used to populate the must-have places selector before plan generation.
Also signals (suggest=True) when the user's library is sparse in the area
so the mobile client can auto-trigger the selector.

## Request body

- DiscoverAttractionsRequest: Request body for POST /planner/discover-attractions.
  - `lat` number, required
  - `lon` number, required
  - `radius_km` number
  - `companion` string
  - `query` string, nullable

## Response `200`

Successful Response

- DiscoverAttractionsResponse: Response for POST /planner/discover-attractions.
  - `suggest` boolean, required
  - `candidates` AttractionCandidate[], required
    - `name` string, required
    - `category` string, required
    - `lat` number, required
    - `lon` number, required
    - `google_place_id` string, nullable
    - `is_free` boolean, nullable
    - `rating` number, nullable
    - `address` string, nullable

## Other responses

- `422`: Validation Error

---

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