Skip to content

docs: Sheets option formulas and STOCKDATA columns, options/quotes contract fields, BYOK prompt corrections - #228

Merged
MarketDataApp merged 4 commits into
mainfrom
docs/sheets-and-byok
Oct 23, 2026
Merged

MarketDataApp merged 4 commits into
mainfrom
docs/sheets-and-byok

Conversation

@MarketDataApp

Copy link
Copy Markdown
Owner

Summary

The four commits from staging whose dependencies have shipped, built on main so they can go out without the three that are still ahead of the API. The same commits stay on staging and in #223, so a later staging → main merge brings no conflict.

Commit on staging Content Depends on
ac29512 BYOK prompt: four statements corrected against the API nothing
3070763 Sheets: OPTIONDATA ranges, when noheaders is needed nothing
3213f8e Sheets: four-column OPTIONDATA tables, OPTIONCHAIN quote date api#550 (merged 2026-10-15), sheets#82 (released v0.158)
e6d90ea Sheets: contract columns and DTE, STOCKDATA 52-week columns; API: options/quotes contract fields sheets#94 (released v0.159)

Held back on staging (still in #223)

  • d20c110 and 8a8f150 — the last session 402 behaviour for historical-only options plans; waits for MarketData-App/api#575 (open).
  • a923ba2 — BYOK E1 accepting X-MarketData-Client; waits for MarketData-App/api#611 (open).

Confirmed absent from this branch: no X-MarketData-Client in the BYOK prompt, no 402 wording on either dates-and-times page, no new last session pointer in OPTIONCHAIN.

Verification (on this branch, production build)

  • STRICT_LINKS=true pnpm run lint:sitemap — passes; every sitemap URL resolves
  • lint:seo all gated rules; lint:contract (PROD=true) 6 of 6
  • lint:examples, lint:options, lint:tables pass
  • test:lib 243/243, test:scripts 124/124

MarketDataApp and others added 4 commits October 23, 2026 14:57
E2 kept cached mode as the recommendation and never said it is paid-only.
Free Forever and every trial get a 402 for mode=cached, so an app that
followed E2 literally broke for exactly the users F1 tells it to onboard.
It now says to repeat the request without mode on a 402.

E4 said the 403 clears after five minutes with no requests. The block
expires five minutes after the IP switch, and requests during it do not
extend it.

F3 said a missing entitlement raises no error. That holds with no mode,
and on paid plans, which are downgraded silently. On Free and trial keys
an explicit mode=live/delayed/eod is a 402, and so is a date older than
the plan allows.

The historical case applied the options cutoff to everything. It now
states the stock (4:15:01 PM ET) and option (9:30:01 AM ET next open)
cutoffs separately, matching account/data-freshness.md, and the 06:00 ET
example is about options. The fee-liability wording is unchanged; a TODO
asks compliance whether the stock cutoff is also the fee boundary.

Prime Trial joins the cached-mode exclusion in api/rate-limiting.md and
account/plan-limits.md.

Fixes #222
…s needed

OPTIONDATA now quotes a range of contracts in one formula (one row per cell, blank rows for contracts it cannot serve, single date only, no tables); the noheaders note said one attribute never has a header, which is false for several symbols or a date range, and the samples used STOCKQUOTE, which no longer exists.
…AIN as of quote date OPTIONDATA now accepts a table of exactly four columns, one contract per row in the order the first row sets, and a failed contract shows what was entered in the symbol column instead of a blank row (MarketData-App/api#550); OPTIONCHAIN gains a sixth argument for one past session's end-of-day chain, with omitted meaning current, a blank meaning an error, DTE counted from the quote date and no delta or greeks on a historical chain (MarketData-App/sheets#82)
…ormulas, the 52-week columns for STOCKDATA, and the contract fields of options/quotes OPTIONDATA now documents underlying, expiration, side, strike, first traded and dte as OPTIONCHAIN does, and OPTIONCHAIN gains dte, counted from today or from the quote date on a historical request; STOCKDATA's quote attributes gain 52weekHigh, 52weekLow and 52week, with all noted as leaving them out unless written all,52week; the public options/quotes page lists the six contract fields the endpoint returns after optionSymbol, worded as on options/chain (MarketData-App/sheets#94)
@MarketDataApp
MarketDataApp merged commit 8315026 into main Oct 23, 2026
7 checks passed
@MarketDataApp
MarketDataApp deleted the docs/sheets-and-byok branch October 23, 2026 19:12
MarketDataApp added a commit that referenced this pull request Oct 26, 2026
…the same work

PR #223 (staging -> main) was DIRTY. #227 and #228 had carried most of
staging into main as new commits, so the same changes met twice. By content
(git cherry), staging had four commits main lacked (a923ba2, 8a8f150, d20c110,
aa146bc) and main had one change staging lacked: sync-sdk-docs.yml (#217,
#218).

The five conflicting files take staging's side, which is main's text plus those
four commits. Verified before committing: this tree differs from staging only in
sync-sdk-docs.yml, and from main only in the four commits' files.
MarketDataApp added a commit that referenced this pull request Oct 26, 2026
Ships the staging work main lacked by content: the SPXW 4:00 PM expiry fix (aa146bc), last session is the same date on every plan (d20c110), the OPTIONCHAIN/OPTIONDATA/noheaders corrections (8a8f150), and E1 accepting X-MarketData-Client (a923ba2). The Commercial Plan and Sheets pages were already on main via #227 and #228. All eight PR checks green on 6b65161.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants