# Wowza Video Intelligence Framework (VIF) REST API The Video Intelligence Framework (VIF) adds real-time, AI-powered object detection, scene analysis, and event-driven intelligence to live video streams running on Wowza Streaming Engine (WSE). This REST API lets you inspect system and per-stream status, read and update the default configuration, manage the active (in-memory) and saved (on-disk) configuration of individual streams, and retrieve annotated thumbnails. ## Configuration hierarchy Settings cascade through three levels of increasing specificity: `Defaults` (`/v1/{server}/plugin/vif/config`) → `Stream pattern` → `Single stream`. A more specific setting overrides a less specific one. ## Active vs. saved configuration - **Active config** (`/v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}`) is the configuration currently applied in memory to a running stream. Supports `GET` and `PUT`. - **Saved config** (`/v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config`) is the persisted configuration in `video-intelligence.json`. Supports `GET`, `PUT`, `POST`, and `DELETE`. ## Authentication All requests use HTTP Basic authentication with Wowza Streaming Engine Manager credentials. License: Wowza ## Servers Local Wowza Streaming Engine REST API ``` http://localhost:8087 ``` Custom Wowza Streaming Engine host ``` http://{host}:{port} ``` Variables: - `host` Default: "localhost" - `port` Default: "8087" ## Security ### basicAuth Wowza Streaming Engine Manager credentials. Type: http Scheme: basic ## Download OpenAPI description [Wowza Video Intelligence Framework (VIF) REST API](https://developer.wowza.com/_bundle/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1.yaml) ## Status & Health Monitor VIF system and per-stream health and performance. ### Get system status - [GET /v1/{server}/plugin/vif/status](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/status-and-health/getsystemstatus.md): Returns a full snapshot of the VIF system: host information (WSE/VIF versions, CPU, NVIDIA GPU type and utilization) and an array of every stream currently registered with the VI service. ### Get single stream status - [GET /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/status](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/status-and-health/getstreamstatus.md): Returns detailed status and performance metrics for a specific stream. The stream must be registered with the VI service. If status is anything other than running, inspect the reason field for diagnostic information. ## Configuration Read and update the default VIF configuration. ### Get default configuration - [GET /v1/{server}/plugin/vif/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/configuration/getdefaultconfig.md): Retrieves the full default VIF configuration from video-intelligence.json, including default settings, analysis parameters, event listeners, and all per-stream configuration overrides in the streams array. ### Update default configuration - [PUT /v1/{server}/plugin/vif/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/configuration/updatedefaultconfig.md): Updates the global VIF default configuration. Send only the fields you want to change; unspecified fields are left unchanged. Some settings may require a WSE restart to take effect. ## Stream Management Manage the active and saved configuration of individual streams. ### Get active stream configuration - [GET /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/getactivestreamconfig.md): Returns the configuration currently applied in memory to the running stream. The stream name may be a specific stream or a stream pattern (regex). ### Update active stream configuration - [PUT /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/updateactivestreamconfig.md): Updates the in-memory configuration for a running stream (highest priority in the configuration hierarchy). Commonly used to enable/disable VIF on a stream or adjust detection parameters on the fly. Send only the fields you want to change. ### Get saved stream configuration - [GET /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/getsavedstreamconfig.md): Returns the persisted (on-disk) configuration for the stream or stream pattern. ### Update saved stream configuration - [PUT /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/updatesavedstreamconfig.md): Merges the supplied fields into the persisted configuration for the stream or stream pattern. Send only the fields you want to change. ### Create saved stream configuration - [POST /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/createsavedstreamconfig.md): Creates a new persisted configuration entry for the stream or stream pattern. Use this to add a new per-stream configuration to video-intelligence.json. ### Delete saved stream configuration - [DELETE /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/deletesavedstreamconfig.md): Removes the persisted configuration entry for the stream or stream pattern. ### Get saved stream configuration (vhost/instance qualified) - [GET /v1/{server}/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/getsavedstreamconfigqualified.md): Fully qualified variant of the saved-configuration endpoint that explicitly specifies the virtual host and application instance. Defaults are _defaultVHost_ and _definst_. ### Update saved stream configuration (vhost/instance qualified) - [PUT /v1/{server}/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/updatesavedstreamconfigqualified.md) ### Create saved stream configuration (vhost/instance qualified) - [POST /v1/{server}/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/createsavedstreamconfigqualified.md) ### Delete saved stream configuration (vhost/instance qualified) - [DELETE /v1/{server}/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/stream-management/deletesavedstreamconfigqualified.md) ## Media Retrieve annotated media such as thumbnails. ### Get a stream thumbnail - [GET /v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/thumbnail](https://developer.wowza.com/docs/wowza-video-intelligence-framework/api/vif-openapi-3.1/media/getstreamthumbnail.md): Returns a thumbnail image (JPEG) for the stream. Optionally include graphical detection overlays and select a specific buffered frame.