# Runtime The stream instances currently running. A GET here shows a stream's live, resolved configuration alongside its health and performance. Writes are ephemeral: they change only the running instance, are never saved to disk, and are lost if the stream or the Engine restarts. A `404` on any Runtime endpoint means the stream isn't currently running, not that it doesn't exist at all. ## List running streams - [GET /runtime/streams](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/listruntimestreams.md) ## One running stream - [GET /runtime/apps/{app}/streams/{stream}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/getruntimestream.md): Effective config, health and performance for the stream. ## Update stream settings (ephemeral) - [PATCH /runtime/apps/{app}/streams/{stream}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/updateruntimestream.md): JSON Merge Patch over the stream's config, applied to the running instance and never saved: a stream or Engine restart reverts it. The body is {"config": {…}}; a member at the top level other than config (and the etag a listed document carries, which is ignored) is a 400. config.detector and config.listeners have their own subresources; naming either one here is a 409. ## Discard the stream's ephemeral changes - [POST /runtime/apps/{app}/streams/{stream}/reset](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/resetruntimestream.md): Action endpoint: reverts the running instance to its persisted configuration (stream group config plus override) and applies it live, immediately — restarting the detector session when the change calls for it, never the stream itself. Returns the resulting stream — fresh state and ETag, so the client needs no follow-up GET. Idempotent — succeeds whether or not ephemeral changes exist. No If-Match: this is an action, not a conditional edit. ## Effective detector - [GET /runtime/apps/{app}/streams/{stream}/detector](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/getruntimedetector.md) ## Update detector fields (ephemeral) - [PATCH /runtime/apps/{app}/streams/{stream}/detector](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/updateruntimedetector.md): JSON Merge Patch within the detector, memory only. A patch that changes type replaces the whole detector section. 404 when the stream is not running or runs no detector. ## Effective listeners - [GET /runtime/apps/{app}/streams/{stream}/listeners](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/listruntimelisteners.md) ## Add a listener (ephemeral) - [POST /runtime/apps/{app}/streams/{stream}/listeners](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/createruntimelistener.md): The listener's name travels in the body's name member, required here (400 without it). 409 when a listener with that name already exists. ## One effective listener - [GET /runtime/apps/{app}/streams/{stream}/listeners/{name}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/getruntimelistener.md) ## Update listener fields (ephemeral) - [PATCH /runtime/apps/{app}/streams/{stream}/listeners/{name}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/updateruntimelistener.md) ## Remove a listener (ephemeral) - [DELETE /runtime/apps/{app}/streams/{stream}/listeners/{name}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/deleteruntimelistener.md) ## Thumbnail image of the running stream - [GET /runtime/apps/{app}/streams/{stream}/thumbnail](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/openapi/runtime/getthumbnail.md): The latest decoded frame, or a given one. 404 when the stream is not running or has produced no frame yet.