Apstal · AsyncAPI Specification

Apstal Realtime Events

Version

View Spec View on GitHub AnalyticsWeb AnalyticsPrivacySession ReplayHeatmapsMCPagent-nativeCookielessllms-txtBigQueryGDPRA2AAgent SkillsBot DetectionCore Web VitalsAsyncAPIEvents

AsyncAPI Specification

apstal-realtime-events.yml Raw ↑
generated: '2026-08-13'
method: searched
source: https://apstal.com/docs/api
spec_type: none
spec_note: >-
  NO AsyncAPI document is published. /asyncapi.yaml and ws.apstal.com/asyncapi.json were probed
  and miss (ws.apstal.com answers every path with the same health JSON). NO webhooks are
  published either - Apstal advertises no outbound HTTP callbacks anywhere in its documentation.
  What DOES exist is a real, prose-documented WebSocket surface plus a server-sent-events
  response, captured below so the event surface is recorded rather than lost. This file
  deliberately carries no AsyncAPI or Webhooks pointer in apis.yml, because neither is true.
surfaces:
- kind: websocket
  endpoint: wss://ws.apstal.com
  health_endpoint: https://ws.apstal.com/
  health_probe:
    http_status: 200
    body: '{"status":"ok","service":"apstal-ws","connections":0}'
    fetched: '2026-08-13'
  direction: bidirectional
  auth: token in the connection message (dashboard connections only)
  connection_types:
  - type: tracker
    direction: client -> server
    sent_by: the browser tracking script
    payload_fields: [type, projectId, events]
    example: '{"type":"tracker","projectId":"abc123","events":[...]}'
  - type: dashboard
    direction: bidirectional
    sent_by: the Apstal dashboard
    payload_fields: [type, projectId, token]
    example: '{"type":"dashboard","projectId":"abc123","token":"YOUR_AUTH_TOKEN"}'
    server_push: >-
      Dashboard clients receive real-time push updates when new events arrive for their project.
      The server filters by Project ID and sends only relevant data.
  - type: viewer
    direction: bidirectional
    sent_by: the session-replay viewer
    payload_fields: [type, projectId, sessionId]
    example: '{"type":"viewer","projectId":"abc123","sessionId":"sess_xyz789"}'
  message_schemas_published: false
  bindings_published: false
- kind: server-sent-events
  endpoint: POST https://apstal.com/api/ai/semantic
  content_type: text/event-stream
  frames:
  - 'data: {"type":"text-delta","delta":"..."}'
  - 'data: [DONE]'
  auth: 'Authorization: Bearer <api key or Supabase JWT>'
  source: https://apstal.com/docs/api
gaps:
- No AsyncAPI document.
- No webhooks / outbound callbacks of any kind.
- No message schemas or channel definitions beyond the three example payloads above.
- No documented reconnect, heartbeat, or error semantics for the WebSocket.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/apstal-realtime-events"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.