---
title: "Get Watchlist Note"
method: GET
path: "/api/watchlist/{symbol}/note"
tags: ["watchlist"]
---

# Get Watchlist Note

`GET /api/watchlist/{symbol}/note`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/watchlist/{symbol}/note`
- Auth: HTTP bearer

Return the caller's private note for a symbol; note: null if none exists.

RLS (`auth.uid() = user_id`) is the primary isolation boundary. This query
ALSO carries an explicit `user_id=eq.{caller}` filter as defense-in-depth
(T-89-11-01) — the service-role key used by `_supabase_headers()` bypasses
RLS, so the router-level filter is what actually scopes this query today.

## Path parameters

- `symbol` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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