status for subscription state transitions, and error for
rejected requests and failed subscriptions.
status
state is one of:
reason is an optional machine-readable hint. When one market-level event
affects several subscriptions on your connection, you get one status frame per
affected subscriptionId.
error
- Active-subscription error — carries
subscriptionId. - Subscription-creation error — carries
market+channel(the subscription was never created, so there’s no id). - Connection-level error — neither; just
code,message, and therequestIdyou sent.
Error codes
Errorcodes are SCREAMING_SNAKE_CASE (distinct from the lowercase status
state values above).
Retryable says whether resending the same request can ever succeed. No means
resending is pointless — change the request, free up capacity, or stop. It does not always
mean the situation is permanent, so the cell says which.
The
message on the Kalshi no-side refusal is:
the ‘no’ side isn’t supported for streaming: a Kalshi ticker addresses one YES-priced book, so subscribe with side ‘yes’ or omit it.