Skip to Content
This documentation is provided with the HEAT environment and describes this HEAT instance.
DevelopersHEAT CaptureHEAT Capture interfacesWeb API

Web API

HEAT Capture hosts an HTTP server on the workstation. The application’s own interface uses it, and it is the integration surface for scripted control and for simulator-side plugins. It cannot be turned off.

The full contract, including payload fields and error behaviour, is in the interface control document. This page is the operator and integrator summary.

Base address

ItemValue
Schemehttp by default; https when enabled, with a self-signed certificate
Host0.0.0.0 as shipped in the desktop application, so every interface
Port5005 as shipped in the desktop application

Both are configurable and both need a restart. See Configure.

Access control

🚫

Only some endpoints check who is calling. Session control, data publishing and the monitoring endpoints below do. Most of the workstation’s other endpoints, used by the application’s own interface, do not: any client that can reach the port can read and change configuration, install packages and restart the application.

Treat network isolation as the security boundary. Bind the server to localhost, or restrict the port to known hosts with a firewall rule. The installer creates no firewall rule.

InterfaceAccess control applied
POST /api/session/*, GET /api/session/current-sessionA user must be signed in
/ws/publishA user must be signed in; the handshake is refused otherwise
/api/storage/capacity, /api/operations/summaryA user must be signed in

There is no API key and no bearer-token scheme. Sign-in state is a property of the application process, not of the individual request, so any caller shares the state of whoever is signed in at the workstation.

Session control

EndpointMethodPurposeAuth
/api/session/start-sessionPOSTStart a sessionSigned-in user
/api/session/pause-sessionPOSTReject new packets before local storage and deliverySigned-in user
/api/session/resume-sessionPOSTAccept newly arriving packets againSigned-in user
/api/session/stop-sessionPOSTStop and close the sessionSigned-in user
/api/session/current-sessionGETCurrent session, or {"active": false}Signed-in user
/api/session/reset-sessionPOSTForce-clear stuck local session stateSigned-in user
/api/session/launch-simPOSTLaunch the configured simulatorSigned-in user
/api/session/stop-simPOSTStop the launched simulatorSigned-in user
/api/session/simulation-statusGETWhether the launched simulator is runningSigned-in user

GET on the start, pause, resume and stop paths returns 400 with Invalid request, use post method. Starting returns 409 when a session is already active, and 507 with a capacity snapshot when the capture drive is below its minimum free space.

Publishing data

EndpointDirectionPayloadAuth
/ws/publishClient to applicationBinary WebSocket frames, each a protobuf AnySigned-in user

This is the interface HEAT Capture Plugins use. Frames larger than 10 MiB close the connection. Text frames are ignored. Malformed payloads are counted and reported once per connection.

Monitoring

EndpointMethodPurposeAuth
/api/storage/capacityGETCapture drive snapshot, including canStartCaptureSigned-in user
/api/operations/summaryGETStorage, delivery, module, socket and process state in one documentSigned-in user

Check /api/storage/capacity before starting a session on a workstation you do not control directly; canStartCapture reflects the free-space minimum described in Configure.

Opens your browser's print dialog. Choose "Save as PDF" as the destination.