Tempest/Tempest

Live Tempest updates (Server-Sent Events)

GEThttps://api.skylit.ai/v1/vol/stream

Pushes a symbol's full module state each time Tempest recomputes it: about every minute for the most active names and every ~10 minutes for the rest during regular hours; nothing outside them (the close state stays frozen). Events: connected, vol (id = asOf in epoch ms; data is a data.symbols[] element of /v1/vol/snapshot), market (with market=true), credits, closed, reconnect (after an hour). Resume with Last-Event-ID (or lastEventId): the initial burst skips symbols whose asOf is older than it; a frame at exactly that id may repeat. Up to 10 symbols per stream and 5 streams per account. Each server also holds a bounded number of open streams across all customers; at capacity → 503 stream_capacity with Retry-After: 5 (retry; you may land on another server). Access is re-checked every minute: a stream closes with closed {"reason":"access_withdrawn"} once the account is no longer enabled. Cost: 1 credit to connect and 1 per minute open.

Authorization

Authorization: Bearer <your API key>

Required. A missing header returns 401; an invalid, revoked or expired key returns 403.

Query parameters

  • symbolsstringrequired

    Comma-separated Tempest symbols (up to 10). Tempest keys the S&P complex on the option root SPXW and Nasdaq-100 on NDXP; see /v1/vol/symbols.

  • modulesstring

    Comma-separated subset of iv, term, cones, sigma, surface, tilt, events (default all).

  • marketbooleandefault false

    Also push the market volatility complex.

  • lastEventIdinteger

    Resume point when the client cannot send Last-Event-ID.

Responses

  • 200

    An SSE stream (text/event-stream).

  • 400

    Request validation failed.

  • 401

    Missing API key (unauthorized), sent by the gateway.

  • 402

    Out of credits (insufficient_credits).

  • 403

    As Forbidden, or not_entitled: Tempest data is not enabled for this account (it is in preview). Refunded.

  • 404

    Unknown symbol, no data available, or none of the requested expirations exist for the symbol (code: expiration_not_found).

  • 429

    Per-minute rate limit exceeded.

  • 503

    Tempest data is loading (warming_up, with Retry-After) or not configured (unavailable). Refunded.

Response fields

Returns string.

Last updated

Was this page helpful?