Display Client: Session & Sharing
Section titled “Display Client: Session & Sharing”Use these URL parameters when loading the HTML5 Display client to control session sharing behavior, read-only access, and tab suspension. They are passed as query string parameters to the standard Display client endpoint and accept boolean values.
Access Display Client
Section titled “Access Display Client”GET /api/v1/display/
Section titled “GET /api/v1/display/”Serves the HTML5 Display client interface with URL-based session and sharing configuration. This endpoint is the standardized API version of the root display endpoint and accepts the same 50+ URL parameters as the root endpoint for full client customization.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
readonly | query | boolean | No | Enable read-only/view-only mode. Blocks all keyboard and mouse input from the client. Useful for dashboards, monitoring, or demo scenarios. Works independently or combines with the server readonly setting. Default: false |
sharing | query | boolean | No | Allow session sharing. When enabled, additional clients can join an existing display session. Default: false |
steal | query | boolean | No | Steal existing sessions. When enabled, a connecting client takes over any existing display session; when disabled, the connection is refused if the display is already in use. Default: true |
suspend_inactive_tab | query | boolean | No | Suspend client updates when the browser tab is inactive. Calls client.suspend() on tab hide and client.resume() on tab show, reducing CPU and network usage for backgrounded tabs. Default: true |
Response
Section titled “Response”The HTML5 Display client interface is loaded successfully.
<!DOCTYPE html><html><head><title>Hoody Display Client</title></head><body> <!-- Display HTML5 client interface --></body></html>Example Request
Section titled “Example Request”curl -X GET "https://{projectId}-{containerId}-display-1.{server}.containers.hoody.com/api/v1/display/?sharing=true&steal=false&readonly=true&suspend_inactive_tab=false"import { HoodyClient } from 'hoody-sdk';
const hoody = await HoodyClient.login('https://api.hoody.com', { username, password });const box = await hoody.withContainer(containerId);
// Builds the URL of display 1; nothing is fetched. Open it in a browser or a frame.const url = box.embeds.display.client(undefined, { index: 1, params: { readonly: true }, query: { suspend_inactive_tab: false },});client.embeds.display.client() refuses sharing, steal (the embed catalog marks them as not embeddable): add them to the URL yourself, as in the Browser tab.
https://{projectId}-{containerId}-display-1.{server}.containers.hoody.com/api/v1/display/?sharing=true&steal=false&readonly=true&suspend_inactive_tab=false