Atasu Maps

Stream

WebSocket endpoint; protocol in packages/openapi/WEBSOCKET.md.

← All operations

GET/v1/streamAvailable

WebSocket — live events, fleet positions, trip sharing

Host
https://api.atasumaps.com · openStream
Access
API key with scope: realtime
Metering
realtime_msg (per message)

GET with Upgrade: websocket (wss://api.atasumaps.com/v1/stream?key=…). JSON text frames. End-user, partner or passenger-ticket credentials are sent in the first auth frame, never in the URL. Subscribing returns a snapshot and a cursor first; every message carries the entity version; deletions are tombstones; after a gap longer than the replay window the client re-fetches the snapshot. Full protocol: packages/openapi/WEBSOCKET.md. Served today: the public reports and overlay channels. The key (scope realtime, Origin / package restrictions; server keys only in the header) is checked before the upgrade, so a bad key gets a 401 / 403 problem and no WebSocket. fleet / trip subscriptions and pub answer scope_denied until trip tickets exist. Concurrent connections are limited per key by plan, per client address for web keys and per server (decision D36, WEBSOCKET.md §6.1): a refused upgrade completes (101) and is closed at once with code 4429 and {"code":"connection_limit","scope":…,"limit":…,"retry_after":…} as the close reason, because browsers cannot read the status of a refused handshake. 429 below is the per-key request rate limit (rate_limited, Retry-After), not the connection limit.

Responses

StatusDescriptionType
101Switching Protocols — WebSocket session established
401Missing or invalid credentials (unauthenticated, key_invalid, key_revoked, token_expired, token_invalid)Problem
402A budget cap is reached and no degraded answer exists (budget_exhausted; context.level is organization or product, context.product the product)Problem
403Authenticated but not allowed (scope_denied, key_restriction_failed, forbidden, user_banned, mfa_required, self_moderation_forbidden, feature_disabled)Problem
426Not a WebSocket upgrade request (upgrade_required)Problem
429Rate limit (rate_limited) or monthly plan quota (quota_exceeded: reject plans only; Retry-After = seconds until the next Asia/Almaty month; context = product, included, used, period_end)Problem