massive-com / massive-com/client-js
API/docs feedback: snapshot day/min zero-filled as unset (not documented)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 273
- Forks
- 74
- Avg merge
- 7h 58m
- Merged PRs (30d)
- 11
Description
Context
This is product/API + docs feedback for the Massive REST stocks snapshot (not an SDK bug). Filing here per Massive’s data-discrepancy guidance (support email + GitHub). Also emailed support@massive.com.
Summary
After the documented daily snapshot clear (3:30 AM EST), GET /v2/snapshot/locale/us/markets/stocks/tickers/{ticker} often returns day and min objects with all numeric fields set to 0 and updated: 0 when there is no current session activity, instead of omitting those objects (or using JSON null).
This is surprising because:
- Single ticker snapshot docs never document
0as “unset” - Aggregates / missing aggregates KB omit bars when there are no eligible trades
- In the same snapshot payload,
lastTrade/lastQuoteare omitted when unavailable
Clients using nullish coalescing (??) treat 0 as a real price and never fall through.
Repro
- Endpoint:
GET /v2/snapshot/locale/us/markets/stocks/tickers/CHKP - Observed:
2026-08-10T11:42:00Z(US premarket) request_id:13acbb2342e8b650464494f4099af50astatus:OK
{
"ticker": {
"ticker": "CHKP",
"todaysChangePerc": 0,
"todaysChange": 0,
"updated": 0,
"day": { "o": 0, "h": 0, "l": 0, "c": 0, "v": 0, "vw": 0 },
"min": { "av": 0, "t": 0, "n": 0, "o": 0, "h": 0, "l": 0, "c": 0, "v": 0, "vw": 0 },
"prevDay": {
"o": 126.15, "h": 127.84, "l": 124.43, "c": 127.82,
"v": 582977.1251, "vw": 126.9216
}
},
"status": "OK",
"request_id": "13acbb2342e8b650464494f4099af50a"
}
Liquid names with premarket prints (e.g. NVDA) populate min.c with a real price while day.* can still be zero before RTH — so zeros act as sentinels for “no bar yet,” not as a $0 trade.
Request
- Document that snapshot
day/minnumeric zeros (andupdated: 0) mean “no current session aggregate,” not a traded price of $0. - Prefer omitting empty
day/min(or null) for consistency with aggregates and omittedlastTrade/lastQuote. - If zero-fill must stay for compatibility, call it out explicitly in the snapshot docs.
Thanks!
John Solly (github@jsolly.com)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked single-ticker snapshot documentation and compare its semantics with the linked missing-aggregates knowledge-base article and the reported JSON response. Document whether zero-filled day/min fields and updated: 0 indicate no current aggregate, and record the chosen omission or null behavior when the API decision is settled.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100