Docs
GET /v2/account/classification

Get your market-data classification

account_getClassification

Your exchange subscriber classification: whether you declared professional or non-professional use of market data. Check it before calling operations that require a non-professional declaration.

Details

This is the CBOE professional / non-professional subscriber declaration. attested is true when a non_professional declaration is on record; that is what unlocks data that requires the declaration. classification and submitted_at appear once you have declared. locked is true once a professional declaration is on record, which cannot be changed through the API.

Units

submitted_at is epoch milliseconds.

Example

http
GET /v2/account/classification
json
{
  "data": {
    "attested": true,
    "submitted_at": 1789185753185,
    "classification": "non_professional",
    "locked": false
  },
  "meta": { "caps": { "tier": "pro", "flow": true, "applied": [] } }
}

Response

Prices are dollars, timestamps epoch milliseconds, strikes integer thousandths of a dollar; null means unknown. Units →

200application/json

{attested, submitted_at, classification, locked} in data — submitted_at/classification (professional|non_professional) appear once submitted, absent when never; locked is true once a professional classification is on record

object

A successful response: the payload consumers parse plus response metadata. data shapes are the platform types — never reshaped by the envelope.

data object required

CBOE attestation status (drives attested in entitlement checks).

attested boolean required
classification string nullable

The stored classification — the CBOE vocabulary word professional | non_professional (None = never submitted).

locked boolean

A stored professional classification is final — a later non_professional submit is refused — and this flag reports the account is locked (false until professional is on record). Only ITMatrixHQ support can unlock it; there is no endpoint for it.

submitted_at integer · int64 nullable epoch ms

Submit time, epoch-ms (None = never submitted).

meta object required

Response metadata.

caps object nullable

meta.caps — the entitlement caps that shaped this response. applied lists the caps that actually changed it (for example range_clamped).

applied array<string> required

Which caps actually shaped this response (e.g. range_clamped). Empty = nothing was clamped.

darkpool boolean nullable

Whether this account can use Off-Exchange in the site.

flow boolean nullable

Whether the OPRA option-flow capability (flow) is granted to this principal in the app: site Pro plus a CBOE non-professional attestation (never on an itm_ key). Emitted explicitly — true and false — by the account endpoints, so the app reads the grant instead of inferring it from tier and attestation; absent on routes that do not report it.

gexDepth string nullable

GEX data depth when the route reports it. Camel-cased to match the browser capability bundle; absent on unrelated routes.

tier string required

The tier the request was served under.

cursor string nullable

Opaque continuation cursor (pass back as ?cursor=); absent when there is nothing more to read.

plane string nullable

Which serving tier answered the read (meta.plane). Informational provenance: treat it as an opaque label, because new values may appear.

Errors

Every error is the JSON error envelope; branch on error.code.

StatusMeaning
401

unauthenticated

503

internal — attestation store unavailable