# Displays: Feature Flags

**Page:** api/displays/feature-flags

[Download Raw Markdown](./api/displays/feature-flags.md)

---

{/* AUTO-GENERATED — Do not edit manually. Regenerate with: npm run docs:api:generate */}



# Displays: Feature Flags

Toggle printing, file transfer, and notification features when accessing the HTML5 Display client. These query parameters configure client-side capabilities at connection time, allowing you to disable resource-intensive features (like file transfer) in kiosk environments or enable real-time notifications via an external server.

## Access the HTML5 Display client

### `GET /api/v1/display/`

Serves the HTML5 Display client web interface with feature flag configuration via URL parameters. This is the standardized API version of the root endpoint.

The parameters below control printing, file transfer, and notification behavior. For the full list of configuration parameters, see the main Display client endpoint.

### Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `printing` | query | boolean | No | Enable printing support. Default: `true` |
| `file_transfer` | query | boolean | No | Enable file transfer support. Default: `true` |
| `notification_server_url` | query | string | No | External notification server URL for real-time notification integration. |
| `web_notifications` | query | boolean | No | Enable browser web notifications (native OS notifications). Default: `true` |
| `display_notifications` | query | boolean | No | Show notifications within display UI. Default: `true` |
| `notification_connection_type` | query | string | No | Notification server connection type. Allowed values: `websocket`, `polling`. Default: `"websocket"` |

#### `notification_server_url` format

The URL must follow this pattern:

```
https://{project}-{container}-n-{display}.{node}.containers.hoody.icu/notification-client.js
```

If not provided, the client attempts to auto-detect from the current hostname pattern by transforming `display` to `n` in the URL.

**Examples:**

- Manual: `?notification_server_url=https://my-project-container-n-6.sg-sin-1.containers.hoody.icu/notification-client.js`
- Auto-detected from: `https://my-project-container-display-6.sg-sin-1.containers.hoody.icu`

The notification server (port 3999) provides historical notification retrieval, real-time WebSocket updates, notification icons, and desktop notification triggering.


The `notification_connection_type` parameter accepts `websocket` (real-time updates, recommended) or `polling` (periodic HTTP polling, fallback).


### Response



```html
<!DOCTYPE html>
<html>
<head><title>Hoody Display Client</title></head>
<body>
  <!-- Display HTML5 client interface -->
</body>
</html>
```



### Example

```bash
curl "https://domain.com/api/v1/display/?printing=false&file_transfer=false&web_notifications=true&display_notifications=true&notification_connection_type=websocket"
```

### SDK

```javascript
const html = await client.display.accessClient({
  printing: false,
  file_transfer: false,
  web_notifications: true,
  display_notifications: true,
  notification_server_url: "https://my-project-container-n-6.sg-sin-1.containers.hoody.icu/notification-client.js",
  notification_connection_type: "websocket"
});
```