GET/v1/flow/net
Get 1-minute net flow bars and summary
Returns cumulative 1-minute grain net flow bars and session volume/dollar totals for a single ticker. minPremium defaults to $10,000, which also filters trades in summary.volume. Date windows default to newest session; future to is cut back; from after newest session returns 400 out_of_range. Date parameters are subject to 7-day retention and plan history clamping.
Endpoint Usage & Plan Rules
Plan Access
Included in Basic
Active subscription
Result Clamping
Not Clamped
Full response returned
Parameters
Required Parameters
| Name | Type | Location | Description |
|---|---|---|---|
| symbol | string | query | Underlying equity ticker symbol (alias: ticker). Missing symbol returns 400 missing_symbol. |
Optional Parameters
| Name | Type | Location | Description |
|---|---|---|---|
| from | string | query | Window start date in YYYY-MM-DD format (alias: fromDate). Older than 7 days returns 400 out_of_range. Clamped to plan history_days. When omitted, the window starts at `to` (a `to` alone is one session; a `to` past the newest session means the newest session) or, with neither, the newest session. |
| to | string | query | Window end date in YYYY-MM-DD format (alias: toDate). Defaults to the `from` session (a `from` alone is one session); with neither `from` nor `to`, the newest session. |
| minPremium | number | query | Minimum trade premium in dollars (defaults to 10000). |
Request Examples
curl -s -H "Authorization: Bearer $WSO_API_KEY" \
"https://api.wheelstrategyoptions.com/v1/flow/net?symbol=AAPL"Try it
GET/v1/flow/net
Included in BasicAdd your API key to send.
Response
Send a request to see the live response, its status, timing, and rate-limit headers.
Response Attributes (200 OK)
| Field | Type | Nullable | Description |
|---|---|---|---|
| ticker | string | No | Underlying equity ticker symbol. |
| retentionDays | integer | No | Flow retention horizon in days (7). |
| mode | string | No | Accumulation mode ('cumulative'). |
| points | object[] | No | Time-series of 1-minute net flow bars. |
| summary | object | No | Aggregated summary of net option order flow across the query window. |
Response Example
json
{
"ticker": "AAPL",
"retentionDays": 7,
"mode": "cumulative",
"points": [
{
"t": "2026-10-09T13:30:00Z",
"netCallPremium": -98374,
"netPutPremium": 588294,
"netVolume": 307
},
{
"t": "2026-10-09T13:31:00Z",
"netCallPremium": -351715,
"netPutPremium": 1414439,
"netVolume": -109
},
{
"t": "2026-10-09T13:32:00Z",
"netCallPremium": 353009,
"netPutPremium": 1640725,
"netVolume": -114
}
],
"summary": {
"volume": 313048,
"ncp": 1019351,
"npp": 8160195,
"spot": 336.81
}
}Error Responses
| Status | Description |
|---|---|
| 400 | Bad Request. The request body, query parameters, or path values violated validation constraints. |
| 401 | Unauthorized. Missing, malformed, or invalid API key credential. |
| 403 | Forbidden. Rejection reasons: `subscription_required`, `subscription_inactive`, `trial_ended`, `plan_upgrade_required` (with `required_plan`), `wrong_credential_type`, `origin_forbidden` (origin authentication failed). |
| 404 | Not Found. Requested resource, ticker symbol, or option contract does not exist. |
| 405 | Method Not Allowed. Returned with an `Allow` header when an unsupported HTTP method is used. Error code: `method_not_allowed`. (HEAD is served on all GET routes and counts against the rate limit like GET.) |
| 429 | Too Many Requests. Rejection reasons: `rate_limited` (per-minute limit), `too_many_concurrent_requests` (in-flight cap), `too_many_auth_failures`. |
| 500 | Internal Server Error. Unhandled internal server or database error. |
| 503 | Service Unavailable. Backing database, cache, or external provider connection unavailable. |