PythonTornadoTornadoTwistedAsyncioNativePython-Tornado V4 SDK Status Events


These docs are for PubNub 4.0 for Python-Tornado V4 which is our latest and greatest! For the docs of the older versions of the SDK, please check PubNub 3.0 for Python, PubNub 3.0 for Python-Tornado and PubNub 3.0 for Python-Twisted.

If you have questions about the PubNub for Python SDK, please contact us at

There is set of error categories which is returned by PubNub client through API completion blocks or delegate callbacks. Access to category can be done using status category property.

Delegate callbacks related to subscribe API usage and allow to handle real-time updates and errors.

PNAccessDeniedCategoryThe SDK will announce this error when the PAM (PubNub Access Manager) does not allow the publish to a channel.
PNBadRequestCategoryPubNub API server was unable to parse SDK request correctly. A big chance of internal SDK error, so let us know if you stumbled into it.
PNAcknowledgmentCategoryDefault category for successfully completed transactional request.
PNTimeoutCategoryProcessing has failed because of request time out.
PNTimeoutCategoryFailure to establish a connection to PubNub due to a timeout.
PNBadRequestCategoryThe server responded with a bad response error because the request is malformed.
PNNetworkIssuesCategoryA subscribe event experienced an exception when running. The SDK isn't able to reach the PubNub Data Stream Network. This may be due to many reasons, such as: the machine or device isn't connected to the internet; the internet connection has been lost; your internet service provider is having trouble; or, perhaps the SDK is behind a proxy.
PNReconnectedCategoryThe SDK was able to reconnect to PubNub.
PNConnectedCategorySDK subscribed with a new mix of channels. This is fired every time the channel or channel group mix changes.
PNUnexpectedDisconnectCategoryPreviously started subscribe loop did fail and at this moment client disconnected from real-time data channels.
PNUnknownCategoryReturned when the subscriber gets a non-200 HTTP response code from the server.