# Melody ## Docs - [Retrieve Device ID](https://docs.getmelody.io/api-reference/device-information/retrieve-device-id.md): Does not require device to be connected. Retrieve the device ID. - [Retrieve Device Information](https://docs.getmelody.io/api-reference/device-information/retrieve-device-information.md): Retrieve detailed information about the device. - [Retrieve Device Mode](https://docs.getmelody.io/api-reference/device-information/retrieve-device-mode.md): Retrieve the current mode of the device. - [Retrieve Device Session](https://docs.getmelody.io/api-reference/device-information/retrieve-device-session.md): Retrieve the current session of the device. - [Retrieve Device Settings](https://docs.getmelody.io/api-reference/device-information/retrieve-device-settings.md): Retrieve the current settings of the device. - [Retrieve Device Status](https://docs.getmelody.io/api-reference/device-information/retrieve-device-status.md): Retrieve the current status of the device. - [Retrieve Server Time](https://docs.getmelody.io/api-reference/device-information/retrieve-server-time.md): # Retrieve Server Time in milliseconds - [Update Device Mode](https://docs.getmelody.io/api-reference/device-information/update-device-mode.md): Update the mode of the device. - [Update Device Settings](https://docs.getmelody.io/api-reference/device-information/update-device-settings.md): Update the settings of the device. - [Get Haptic Direct Control Status](https://docs.getmelody.io/api-reference/haptic-direct-control/get-haptic-direct-control-status.md): Get a haptic direct control status. - [Send Haptic Direct Control Command](https://docs.getmelody.io/api-reference/haptic-direct-control/send-haptic-direct-control-command.md): Send a haptic direct control command to the device. - [Loop Control Status](https://docs.getmelody.io/api-reference/haptic-loop-control/loop-control-status.md): Get loop control status including settings, velocity and current loop status. - [Play Loop](https://docs.getmelody.io/api-reference/haptic-loop-control/play-loop.md): Play Haptic Loop - [Stop Loop](https://docs.getmelody.io/api-reference/haptic-loop-control/stop-loop.md): Stop Haptic Loop - [Flush Haptic Stream Current Buffer](https://docs.getmelody.io/api-reference/haptic-points-stream/flush-haptic-stream-current-buffer.md): Flush the device current buffer of points. - [Haptic Stream Status](https://docs.getmelody.io/api-reference/haptic-points-stream/haptic-stream-status.md): Get the device points stream status. - [Pause Haptic Stream](https://docs.getmelody.io/api-reference/haptic-points-stream/pause-haptic-stream.md): Pause Haptic Stream - [Play Haptic Stream](https://docs.getmelody.io/api-reference/haptic-points-stream/play-haptic-stream.md): Play Haptic Stream - [Seek Haptic Points Stream](https://docs.getmelody.io/api-reference/haptic-points-stream/seek-haptic-points-stream.md): Seek to a specific time position in the haptic points stream. Time is specified in milliseconds from the beginning of the stream. - [Send Haptic Points Stream Signal](https://docs.getmelody.io/api-reference/haptic-points-stream/send-haptic-points-stream-signal.md): Send a haptic signal to the device. The stroker movement velocity is calculated on device and is based on time difference between points. At least two points needed to move the stroker. - [Setup Haptic Points Stream](https://docs.getmelody.io/api-reference/haptic-points-stream/setup-haptic-points-stream.md): Configure playback settings for haptic points stream. - [Stop Haptic Stream](https://docs.getmelody.io/api-reference/haptic-points-stream/stop-haptic-stream.md): Stop Haptic Stream - [Haptic Script Status](https://docs.getmelody.io/api-reference/haptic-script-control/haptic-script-status.md): Status of the haptic script on the device. - [Seek Haptic Script Offset](https://docs.getmelody.io/api-reference/haptic-script-control/seek-haptic-script-offset.md): Seek the haptic script offset to playback on the device. - [Setup Haptic Script Control](https://docs.getmelody.io/api-reference/haptic-script-control/setup-haptic-script-control.md): Configure playback settings for haptic script control. - [Start Haptic Script](https://docs.getmelody.io/api-reference/haptic-script-control/start-haptic-script.md): Start the haptic script to playback on the device. - [Stop Haptic Script](https://docs.getmelody.io/api-reference/haptic-script-control/stop-haptic-script.md): Stop the haptic script on the device. - [Upload Haptic Script](https://docs.getmelody.io/api-reference/haptic-script-control/upload-haptic-script.md): Upload a funscript to the device for playback. - [Upload Script Points Chunk](https://docs.getmelody.io/api-reference/haptic-script-control/upload-script-points-chunk.md): Upload script points to the device in chunks for direct playback. - [Enable or Disable Debug Logging](https://docs.getmelody.io/api-reference/maintenance/enable-or-disable-debug-logging.md): Enables or disables debug logging on the device. When enabled, the device will emit unsolicited `DEBUG_LOG` frames (frame type `21`) over the WebSocket connection. Each frame contains a `DebugLogMessage` protobuf message with a `message` string field. - [Retrieve Debug Information](https://docs.getmelody.io/api-reference/maintenance/retrieve-debug-information.md): Retrieve detailed information about the device. - [Retrieve Stroker Calibration](https://docs.getmelody.io/api-reference/maintenance/retrieve-stroker-calibration.md): Retrieve the calibration information of the stroker on the device. - [Retrieve Stroker Settings](https://docs.getmelody.io/api-reference/maintenance/retrieve-stroker-settings.md): Retrieve the current stroker settings of the device. - [Retrieve Stroker Status](https://docs.getmelody.io/api-reference/maintenance/retrieve-stroker-status.md): Retrieve the current status of the stroker on the device. - [Send Maintenance Command](https://docs.getmelody.io/api-reference/maintenance/send-maintenance-command.md): Send a maintenance command to the device. - [Update Stroker Settings](https://docs.getmelody.io/api-reference/maintenance/update-stroker-settings.md): Update the stroker settings of the device. - [Confirm One-Time Password (v1)](https://docs.getmelody.io/api-reference/one-time-password/confirm-one-time-password-v1.md): Confirm a one-time password for the device to receive a long-lived API token. - [Confirm OTP and Get Quick Session Token](https://docs.getmelody.io/api-reference/one-time-password/confirm-otp-and-get-quick-session-token.md): Confirm a one-time password and receive a short-lived session token (48 hours) for immediate device control — **no organization or Developer Key required**. - [Confirm OTP and Link Device to Organization](https://docs.getmelody.io/api-reference/one-time-password/confirm-otp-and-link-device-to-organization.md): Confirm a one-time password, link device to organization, and receive a Device Key. - [Generate One-Time Password](https://docs.getmelody.io/api-reference/one-time-password/generate-one-time-password.md): Generate a one-time password for the device. - [API Overview](https://docs.getmelody.io/api-reference/overview.md): A high-level guide to the Haptics SDK API, including authentication, device control modes, and core haptics endpoints. - [Intro to Melody](https://docs.getmelody.io/home/about.md): A universal haptic hardware + scripting ecosystem for immersive, synchronized sensation experiences powered by BLE, WiFi, and the Melody Engine. - [Quickstart Guide](https://docs.getmelody.io/home/quickstart.md): Get authenticated, connect to your device via BLE or WiFi, and run your first scripted haptics session using the Melody API. - [Protocol Definitions](https://docs.getmelody.io/melody/ble/protocol.md): Protocol Buffer (protobuf) messages and BLE binary mapping used in the HapticsConnect API. - [Services Reference](https://docs.getmelody.io/melody/ble/setup.md): Low-level Bluetooth LE services and characteristics for the Melody device, including WiFi setup, device information, status, stroker control, OTP, HDC, HPS, and HLC. - [Overview](https://docs.getmelody.io/melody/overview.md): Technical overview of the Melody hardware device, sensation scripting engine, and supported Haptic control protocols via the Melody API. - [Debug Logging](https://docs.getmelody.io/melody/wifi/debug_logging.md): Enable real-time device debug logging, receive log frames over WebSocket, and view stored logs in the CMS. - [Device Setup](https://docs.getmelody.io/melody/wifi/device_setup.md): Read Melody device information, monitor live status, adjust settings, trigger service commands, and inspect debug data over the WiFi API. - [OTP via WebSocket](https://docs.getmelody.io/melody/wifi/otp.md): Request a One-Time Password directly over an existing WebSocket connection, without a separate HTTP request. - [Playback Protocols](https://docs.getmelody.io/melody/wifi/playback_protocols.md): Select and control haptic playback protocols (HDC, HSC, HPS, HLC) on the Melody hardware device using WiFi transport over Melody API. - [Connection & Time Sync](https://docs.getmelody.io/melody/wifi/server_connection.md): Check Melody device server connection state and synchronize internal device time using WiFi transport over the Melody production API. - [Stroker Setup](https://docs.getmelody.io/melody/wifi/stroker_setup.md): Read live stroker motion state, calibration bounds, hall reference points, and configure software limits for the Melody device using the WiFi API. ## OpenAPI Specs - [openapi_sdk](https://docs.getmelody.io/api-reference/openapi_sdk.yaml) - [openapi](https://docs.getmelody.io/api-reference/openapi.yaml) ## Optional - [Home](https://getmelody.io) - [Take a Survey](https://3itidap2xdx.typeform.com/to/kF5xWZq1)