LG webOS 2025 – Postman Setup & SSAP Command Guide

1. Install Postman

Download and install Postman from https://www.postman.com/downloads/. The desktop app is required for WebSocket (WSS) testing.

2. Connect to LG webOS TV via WSS

LG webOS TVs expose a secure WebSocket endpoint:

wss://<TV_IP>:3001

Example:
wss://192.168.1.37:3001

In Postman:
• New → WebSocket Request
• Enter the WSS URL
• Click Connect

Disable Certificate Checking (Required)

LG TVs use a self-signed certificate. In Postman:

Settings → General → SSL certificate verification → OFF

Without this, the connection will fail.

3. Pairing / Registration (Golden & Max Manifests)

Golden manifest (known-working for audio & power):


{
  "id": "register",
  "type": "register",
  "payload": {
    "pairingType": "PROMPT",
    "manifest": {
      "appVersion": "1.0",
      "manifestVersion": 1,
      "permissions": [
        "CONTROL_AUDIO",
        "CONTROL_POWER",
        "READ_SETTINGS",
        "READ_INSTALLED_APPS",
        "CONTROL_INPUT_MEDIA_PLAYBACK"
      ]
    }
  }
}

Max-permissions manifest (for discovery & testing):


{
  "id": "register",
  "type": "register",
  "payload": {
    "pairingType": "PROMPT",
    "manifest": {
      "appVersion": "1.0",
      "manifestVersion": 1,
      "permissions": [
        "LAUNCH",
        "LAUNCH_WEBAPP",
        "APP_TO_APP",
        "CONTROL_AUDIO",
        "CONTROL_DISPLAY",
        "CONTROL_INPUT_MEDIA_PLAYBACK",
        "CONTROL_POWER",
        "CONTROL_INPUT_TEXT",
        "CONTROL_MOUSE_AND_KEYBOARD",
        "READ_SETTINGS",
        "READ_INSTALLED_APPS",
        "READ_RUNNING_APPS",
        "READ_POWER_STATE",
        "READ_CURRENT_CHANNEL",
        "READ_TV_CHANNEL_LIST",
        "READ_COUNTRY_INFO",
        "READ_NOTIFICATIONS",
        "SEARCH",
        "WRITE_NOTIFICATION_TOAST"
      ]
    }
  }
}

4. Saving the Client Key

After approving the pairing prompt on the TV, the response will include:


{
  "type": "registered",
  "payload": {
    "client-key": "YOUR_CLIENT_KEY"
  }
}

Save this client-key. It uniquely identifies your client.

5. Re-registering With Existing Key

For future connections, include the client-key in the payload:


{
  "id": "register",
  "type": "register",
  "payload": {
    "client-key": "YOUR_CLIENT_KEY"
  }
}

6. Core SSAP Commands (Open & Known-Working)

Get Volume: ssap://audio/getVolume

Volume Up: ssap://audio/volumeUp

Volume Down: ssap://audio/volumeDown

Mute: ssap://audio/setMute

Power Off: ssap://system/turnOff

Get Power State (subscribe): ssap://com.webos.service.tvpower/power/getPowerState

Foreground App: ssap://com.webos.applicationManager/getForegroundAppInfo

List Apps: ssap://com.webos.applicationManager/listApps

Launch App: ssap://system.launcher/launch

Toast: ssap://system.notifications/createToast

Switch Input: ssap://tv/switchInput

Get Sound Output: ssap://audio/getSoundOutput

7. Notes & Pitfalls

• 401 errors almost always indicate missing permissions
• Some APIs require subscribe:true
• Some services reject calls unless registered with PROMPT pairing
• ECONNRESET usually means the TV closed the socket
• SEARCH may return 404 on newer webOS builds

8. Full SSAP URI Reference (WebOS 2025)

Includes audio, power, apps, inputs, remote keys, subscriptions, and settings APIs.
Example URIs:
- ssap://audio/getVolume
- ssap://system/turnOff
- ssap://com.webos.applicationManager/listApps
- ssap://com.webos.service.tvpower/power/getPowerState (subscribe:true)
- ssap://com.webos.service.networkinput/getPointerInputSocket
- ssap://com.webos.service.tv.channel/changeChannel

9. Postman Collection Export

This section documents a ready-to-import Postman collection containing:
- Register (max permissions)
- Register with existing client-key
- Audio controls
- App launch (Netflix, Prime, Disney+)
- Input switching
- Remote key emulation

10. Node.js Reference Library

A minimal Node.js library using the ws package is provided.
Capabilities:
- Pairing and re-registration
- Audio and power control
- App launching
- Subscription handling
TLS verification disabled for LG self-signed certificates.

11. Hubitat & THR Integration Notes

Key points:
- Hubitat drivers must persist client-key
- Pairing should be manual (PROMPT)
- Use WebSocket reconnect logic
- THR mappings align to SSAP remote commands