Streaming Hub API

Streaming Hub API overview and installation

Build your own application on Core using local HTTP or the public .NET libraries.

Alpha
Developer referenceUpdated 2026-10-25

Streaming Hub API lets an external application read and control Streaming Hub Core. Build a desktop controller, monitoring tool or alternative editor while Core owns the active project, plugin connections, automation execution and saved files.

Choose the right documentation

You are buildingUse
An application that connects to CoreThis Streaming Hub API section
Automations in the supplied graphical applicationStreaming Hub Editor documentation
Actions, signals or integrations loaded inside CorePlugin SDK

A client does not need WPF, the supplied Editor, Core internals or Plugin SDK. Closing your client leaves Core running. Themes, panel layout and unsent drafts belong to your application.

Choose your transport

The native API uses authenticated HTTP under /api/v1 and bounded WebSocket streams. Its current deployment is local Windows applications: Core listens on 127.0.0.1 at a dynamically allocated port. Browser-origin requests and LAN connections are not supported.

Any language with an HTTP client can implement the protocol. Start with PowerShell HTTP requests to see the wire format. For .NET, use StreamingHub.Api.Client and StreamingHub.Api.Contracts; both target .NET 8. The client handles discovery validation, pairing calls, session negotiation, typed contracts and observation helpers.

HTTP API v1, Core versions, Client/Contracts package versions and Host Plugin API versions identify different things. Use Client and Contracts from the same verified package set. A public NuGet feed is not currently advertised.

Prepare Core

Use a matching Core package with its Tray approval surface, and open a copy of a test project. Keep the Tray available: external clients need the user's approval before accessing state.

From a repository checkout with the .NET 8 SDK, build the solution before starting Core:

dotnet build Streaming-HUB.slnx
dotnet run --project StreamingHub.CoreHost -- --data-dir C:\StreamingHubApiTest --project C:\StreamingHubApiTest\Test.shubproj

Create the test directory and project copy first. A custom data directory isolates settings, profiles, plugin state, credentials and discovery; it still permits only one Core owner per Windows user. Exit an existing Core before starting a different test installation. A packaged Core starts through StreamingHub.CoreHost.exe and includes its Tray.

Find the current endpoint

Without a custom data directory, discovery is at:

%LOCALAPPDATA%\StreamingHub\runtime\api-discovery.json

With --data-dir, use api-discovery.json in that directory. The file contains endpoint, hostInstanceId and apiMajorVersions. Read it again after Core restarts; do not assume a fixed port or reuse the previous Host identity. Discovery is not permission to access Core.

Follow the client lifecycle

  1. Read discovery and validate the loopback endpoint and HTTP major.
  2. Request permissions and pair through the user's Tray.
  3. Exchange the approved credential for a session and complete the handshake.
  4. Read a coherent snapshot, then observe changes.
  5. Submit identity- and revision-bound commands and recover uncertain results using their original IDs.

Use API operations to change and save a project. Do not overwrite its active project file or sidecars directly.

Continue with manual HTTP testing or your first .NET client.