API Reference: Endpoints, Field Glossary, and Status Codes - FlashAlpha Lab API
Lab API Reference

FlashAlpha Lab API Reference: Endpoints, Fields, and Status Codes

Account management, system endpoints, field glossary, and complete endpoint index for the FlashAlpha Lab API.

Check API Account Details, Plan, and Usage Quota

Returns account details, plan, and usage quota.

GET /v1/account

Authentication: Required (X-Api-Key header or apiKey query parameter)

Rate Limited: Yes

curl -H "X-Api-Key: YOUR_API_KEY" \
  https://lab.flashalpha.com/v1/account
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/account",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
acct = resp.json()
print(f"Plan: {acct['plan']} | Limit: {acct['daily_limit']}/day")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/account",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const acct = await resp.json();
console.log(`Plan: ${acct.plan} | Limit: ${acct.daily_limit}/day`);

Example response:

{
  "user_id": "...",
  "email": "...",
  "plan": "growth",
  "daily_limit": "1000",
  "billing_cycle_end": "2026-03-01"
}

Response fields:

Field Type Description
user_idstringUnique user identifier
emailstringAccount email
planstringCurrent plan (free, basic, growth, pro, enterprise)
daily_limitstringDaily request limit
billing_cycle_endstringEnd of current billing cycle

List All Tracked Options Symbols

Returns tracked symbols list.

GET /v1/symbols

Authentication: Required (X-Api-Key header or apiKey query parameter)

Rate Limited: Yes

curl -H "X-Api-Key: YOUR_API_KEY" \
  https://lab.flashalpha.com/v1/symbols
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/symbols",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Tracking {data['count']} symbols: {', '.join(data['symbols'])}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/symbols",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`Tracking ${data.count} symbols: ${data.symbols.join(", ")}`);

Example response:

{
  "symbols": ["SPY", "QQQ"],
  "count": 2,
  "update_frequency": "live",
  "last_updated": "2026-02-28T16:30:45Z"
}

API Health Check and Service Status

Health check endpoint. No authentication required. Not rate limited.

GET /health

Authentication: Not required

Rate Limited: No

curl https://lab.flashalpha.com/health
import requests

resp = requests.get("https://lab.flashalpha.com/health")
health = resp.json()
print(f"Status: {health['status']} ({health['duration']}ms)")
for check in health["checks"]:
    print(f"  {check['name']}: {check['status']}")
const resp = await fetch("https://lab.flashalpha.com/health");
const health = await resp.json();
console.log(`Status: ${health.status} (${health.duration}ms)`);
health.checks.forEach(c => console.log(`  ${c.name}: ${c.status}`));

Example response:

{
  "status": "Healthy",
  "duration": 12.45,
  "checks": [
    { "name": "thetadata", "status": "Healthy", "duration": 8.2 },
    { "name": "market_data", "status": "Healthy", "duration": 3.5 }
  ]
}

Note: This endpoint does not require authentication and is not rate limited. Use it for monitoring and uptime checks.

Options Data Field Glossary and Definitions

Comprehensive reference of all fields returned across the API.

Field Type Description
gamma_flipnumberStrike price where net GEX crosses zero. Above this level, dealers are long gamma (mean-reverting, dampened moves). Below, dealers are short gamma (trending, amplified moves). The most important single level for intraday traders.
net_gexnumberNet gamma exposure in USD notional across all strikes and expirations, normalised per 1% move. Positive = dealers buy dips/sell rips. Negative = dealers amplify moves.
net_dexnumberNet delta exposure in USD notional. Directional bias indicator. Large positive DEX = dealers long delta (hedging puts). Large negative = dealers short delta (hedging calls).
net_vexnumberNet vanna exposure in USD notional. Positive vanna benefits from IV compression (vol crush after events). Negative vanna amplifies directional moves when vol spikes.
net_chexnumberNet charm exposure in USD notional. Drives end-of-day and overnight rebalancing flows. Positive charm = time decay pushes dealers to buy. Most relevant into weekly/monthly expiration.
call_wallnumberStrike with the highest call-side GEX. Acts as resistance — dealers sell delta as spot approaches. Breaks above the call wall often trigger accelerated upside moves.
put_wallnumberStrike with the highest put-side GEX. Acts as support — dealers buy delta as spot drops toward it. Breaks below can trigger cascading sell-side hedging.
zero_dte_magnetnumber0DTE strike with the highest gamma exposure. Acts as an intraday "pin" level — high-gamma 0DTE contracts cause intense dealer hedging that pulls price toward this strike, especially into the close.
regimestringpositive_gamma (range-bound, mean-reverting), negative_gamma (trending, breakout-prone), or undetermined (near zero, transitional). Use to set strategy bias: sell premium in positive, trade momentum in negative.
implied_volnumberBlack-Scholes-Merton implied volatility. Computed from mid price using the BSM model (not sourced from exchange). Expressed as annualized decimal — 0.18 = 18% annualized vol.
svi_volnumberSVI-smoothed implied volatility using Gatheral's parametric surface fit. More stable than raw BSM IV for OTM strikes and illiquid contracts. Used internally for greek computation.
deltanumberRate of change of option price per $1 move in underlying. Calls: 0 to 1, Puts: -1 to 0. Also approximates probability of finishing ITM.
gammanumberRate of change of delta per $1 move. Highest near ATM and near expiry. The core input for GEX calculation — high gamma = intense dealer hedging.
thetanumberDaily time decay in dollars. Negative for long options. Accelerates into expiry, especially for ATM 0DTE contracts.
veganumberPrice change per 1-point move in IV. Highest on longer-dated ATM options. Key for vol trading and event plays.
vannanumberdDelta/dVol — cross-sensitivity of delta to volatility changes. Drives dealer hedging during VIX moves. The core input for VEX calculation.
charmnumberdDelta/dTime — how delta changes as time passes. Drives end-of-day rebalancing flows. The core input for CHEX calculation.
open_interestnumberTotal open contracts at a given strike/expiry. Higher OI = more dealer hedging activity at that level. Changes in OI signal new positioning vs. closing of existing positions.
call_oi_change / put_oi_changenumberDay-over-day OI change. Positive = new contracts opened (new positioning). Negative = contracts closed (unwinding). Combined with volume to distinguish opening from closing flows.

Complete REST API Endpoint Index

Master table of every endpoint in the FlashAlpha Lab API.

Method Path Auth Description
GET/stockquote/{ticker}YesLive stock quote
GET/optionquote/{ticker}YesOption quotes with greeks
GET/v1/exposure/gex/{symbol}YesGamma exposure by strike
GET/v1/exposure/dex/{symbol}YesDelta exposure by strike
GET/v1/exposure/vex/{symbol}YesVanna exposure by strike
GET/v1/exposure/chex/{symbol}YesCharm exposure by strike
GET/v1/exposure/summary/{symbol}YesFull exposure summary
GET/v1/exposure/levels/{symbol}YesKey support/resistance levels
GET/v1/exposure/narrative/{symbol}YesVerbal narrative analysis
GET/v1/exposure/history/{symbol}YesDaily exposure history
GET/v1/surface/{symbol}NoVol surface grid
GET/v1/options/{ticker}YesOption chain metadata
GET/v1/accountYesAccount info & usage
GET/v1/symbolsYesTracked symbols
GET/healthNoHealth check

HTTP Status Codes and Error Response Reference

Status Description
200Success
400Bad request — invalid parameters
401Unauthorized — invalid or missing API key
404Not found — symbol not tracked or no data
429Rate limited — daily quota exceeded
500Internal server error
503Service unavailable — endpoint coming soon (e.g., history)
FlashAlpha
© FlashAlpha. All rights reserved.