Verify credentials and entitlement
GET/v1/auth/verify

Verify credentials and entitlement

Verifies that an API key is valid, unrevoked, and checks active tier subscription status.

Endpoint Usage & Plan Rules

Plan Access
All Plans
No subscription required
Rate Limit
One request per call; no daily quota
Result Clamping
Not Clamped
Full response returned

Request Examples

curl -s -H "Authorization: Bearer $WSO_API_KEY" \
  "https://api.wheelstrategyoptions.com/v1/auth/verify"

Try it

GET/v1/auth/verify
Any account

Requests run against the live API with your key and count against its rate limits. The key is sent only to this site. Sign in to get a key

Add 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)

FieldTypeNullableDescription
key_idintegerNoControl plane database identifier of the API key.
key_prefixstringNoKey prefix identifier for dashboard display (first 16 characters).
statusstringNoAuthentication state ('authenticated').
planstringYesAccount subscription plan id (for example 'basic'), returned even if subscription is currently inactive.
subscription_statusstringYesCurrent Stripe subscription status ('active', 'trialing', 'past_due', etc.).
entitledbooleanNoWhether the key holder is entitled to access paid data endpoints.
entitlement_reasonstringNoReason code if unentitled ('subscription_required', 'subscription_inactive', etc.).

Response Example

json
{
  "key_id": 2,
  "key_prefix": "wso_live_YOURKEY",
  "status": "authenticated",
  "plan": "basic",
  "subscription_status": "active",
  "entitled": true,
  "entitlement_reason": ""
}

Error Responses

StatusDescription
401Unauthorized. Missing, malformed, or invalid API key credential.
403Forbidden. Rejection reasons: `wrong_credential_type` (session token presented on API route), `origin_forbidden` (origin authentication failed).
404Not Found. Requested resource, ticker symbol, or option contract does not exist.
405Method 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.)
429Too Many Requests. Rejection reasons: `rate_limited` (exceeded per-minute rate limit or per-IP rate limit), `too_many_auth_failures` (edge lockout).
500Internal Server Error. Unhandled internal server or database error.
503Service Unavailable. Backing database, cache, or external provider connection unavailable.
OpenAPI contract document aliasGet account usage and limits