Skip to main content
POST
Historical analogs as analog_overlay annotations for the chart lab

Body

application/json

Request for historical analogs anchored at a single chart point.

anchor_time / anchor_price are the ONLY client-influenced annotation fields (provenance is server-owned); both are validated here. symbol is the paid-embedding input, so it is capped hard.

symbol
string
required

Ticker symbol (uppercased; [A-Z0-9.-]{1,10})

anchor_time
integer
required

Overlay anchor time (unix seconds)

Required range: x <= 4102444800
anchor_price
number
required

Overlay anchor price (finite, > 0)

Required range: x <= 1000000000000
limit
integer
default:5

Max analogs to return

Required range: 1 <= x <= 20
outcome
enum<string> | null

Optional outcome filter for historical_setups

Available options:
win,
loss,
scratch
descriptor
PriceActionDescriptor · object | null

Bounded summary of the visible or selected price-action window

match_window_bars
integer
default:20

Observed source bars ending at the exact match anchor

Required range: 3 <= x <= 100
forward_bars
integer
default:20

Bounded observed source bars after the exact match anchor

Required range: 1 <= x <= 50

Response

Successful Response

schema_version
string
required
Allowed value: "an03-v1"
producer
AnalogPathProducer · object
required
current_symbol
string
required
Minimum string length: 1
Pattern: ^[A-Z][A-Z0-9.-]*$
interval
string
required
Allowed value: "1m"
session
string
required
Allowed value: "regular"
computed_at
string<date-time>
required
match_window_bars
integer
required
Required range: 3 <= x <= 100
forward_bars
integer
required
Required range: 1 <= x <= 50
top_k
integer
required
Required range: 1 <= x <= 5
data_mode
string
required
Allowed value: "historical"
availability
enum<string>
required
Available options:
available,
partial,
unavailable
truncated
boolean
required
explanation
string
required
annotations
ChartAnnotationOut · object[]
required
paths
HistoricalAnalogPath · object[]
required
Maximum array length: 5