Clear Street · AsyncAPI Specification

Clear Street Studio Events

Version

View Spec View on GitHub CompanyFinancial ServicesCapital MarketsPrime BrokerageTradingBrokerageClearingMarket DataFintechInvestingAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-02'
method: searched
source: https://docs.clearstreet.io/studio/docs/websockets
spec_type: none
spec_type_note: >
  Clear Street publishes NO AsyncAPI document. It does publish a real asynchronous event
  surface — a WebSocket activity stream on the Studio API — which is captured here as a
  documented event catalog. Nothing below is fabricated; channel and event names are taken
  verbatim from the Studio WebSocket documentation.
surface:
  kind: websocket
  api: Clear Street Studio API
  endpoints:
  - {environment: production, url: 'wss://api.clearstreet.io/studio/v2/ws'}
  - {environment: demo, url: 'wss://demo-api.clearstreet.io/studio/v2/ws'}
  purpose: >
    Listen for asynchronous events such as order updates and position updates, as the
    complement to the synchronous REST surface.
authentication:
  scheme: oauth2-access-token
  mechanism: >
    The access token is carried in the `authorization` field of the subscription message sent
    after the connection opens; the server validates it before streaming data.
  token_source: https://auth.clearstreet.io/oauth/token
  token_lifetime: 24h
protocol:
  subscribe_message:
    authorization: <access-token>
    payload:
      type: subscribe-activity
      account_id: <account-id>
  constraints:
  - Subscribe within 30 seconds of connecting or the server auto-disconnects.
  - Access tokens expire after 24 hours.
  - Once subscribed, the connection persists for the lifetime of the token.
channels:
- name: activity
  subscribe_type: subscribe-activity
  api_group: Execution
  description: Provides trading related activity.
  scope: per account_id
messages:
- name: subscribe-activity-ack
  direction: server-to-client
  description: Confirms successful subscription to the Activity channel.
- name: heartbeat
  direction: server-to-client
  description: Server keepalive signal indicating the session is active.
- name: error-notice
  direction: server-to-client
  description: Error message; may precede disconnection.
message_schemas:
  published: false
  note: >
    Per-event payload schemas for the activity stream are not published as machine-readable
    definitions. Only the envelope/control messages above are documented by name.
webhooks:
  published: false
  note: >
    Clear Street publishes no HTTP webhook/callback surface. Neither OpenAPI declares a
    `webhooks` object or `callbacks`. Push delivery is WebSocket-only.
x-pointer-disclosure: >
  DISCLOSURE — apis.yml wires this artifact under `type: Webhooks`, which is the catalog's
  canonical pointer type for a published asynchronous event surface. Read literally, Clear
  Street ships NO HTTP webhooks: the surface is a WebSocket activity stream. The pointer says
  "this provider publishes an event surface", not "this provider publishes webhook callbacks".
  Anyone scoring the operational `webhooks_advertised` check strictly should treat it as unmet.
trading_api_events:
  note: >
    The Clear Street Trading API specification declares a `Websocket` tag ("Active Websocket.")
    but binds no operations to it, and no public WebSocket documentation for
    api.clearstreet.com was found. Recorded as declared-but-undocumented rather than asserted.
x-evidence:
  fetched: '2026-08-02'
  sources:
  - {url: 'https://docs.clearstreet.io/studio/docs/websockets', http_status: 200}
  - {url: 'https://docs.clearstreet.io/studio/docs/getting-started', http_status: 200}
  probes_missed:
  - {url: 'https://docs.clearstreet.com/guides/websocket/index.md', http_status: 403}
  - {url: 'https://api.clearstreet.io/studio/v2/asyncapi.yaml', http_status: 401}