### GetGameDBInfoResult Example (Installed)
Source: https://dev.overwolf.com/ow-native/reference/games/ow-games
Example data for a successful retrieval of game database information when the game is installed.
```json
{
"success":true,
"gameInfo":null,
"installedGameInfo":{
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... }
}
}
```
--------------------------------
### Match Start Event Fired Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/playerunknowns-battlegrounds
Example structure for the 'matchStart' event.
```json
{"events":[{"name":"matchStart","data":""}]}
```
--------------------------------
### Manifest.json Configuration Example
Source: https://dev.overwolf.com/ow-native/getting-started/onboarding-resources/sample-app-components
An example of a manifest.json file, showing the definition for the start window and windows object.
```json
{
"start_window": "background",
"windows": {
"background": {
"is_background_page": true
}
}
}
```
--------------------------------
### GetGameInfoResult Example
Source: https://dev.overwolf.com/ow-native/reference/games/ow-games
Example data for a successful retrieval of installed game information.
```json
{
"success":true,
"gameInfo":{
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... }
}
}
```
--------------------------------
### Match Start Event Data Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/splitgate-arena-warfare?game-tab=events-status
Example of the data structure for the match start event.
```json
{"name":"matchStart","data":""}
```
--------------------------------
### Rainbow Six Siege Match Start Log Data Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/rainbow-six-siege?game-tab=events-status
An example of the match start log, detailing information about how a match began, including map, start reason, and matchmaking details. This is useful for analyzing match initiation.
```json
{"gameId":10826,"feature":"match_info","category":"match_info","key":"match_start_log","value":"{\"MAP\":\"00000037625C3900\",\"STARTREASON\":\"Menu\",\"MMID\":\"0\",\"PARTY\":1,\"SQUADID\":\"0\",\"TEAM\":\"1\",\"SKILLRANK\":0,\"MTYPE\":\"0000005D2BE7FEF5\",\"GAMEMODEALTERATION\":\"normal\",\"PLAYGROUP\":\"pc\",\"playlist\":\"00000060899B9D62\",\"MMKPREF\":[],\"reputationlevel\":3}"}
```
--------------------------------
### Match Start Event Data Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/arc-raiders
Example of the data structure for the match_start event.
```json
{"events":[{"name":"match_start","data":null}]}
```
--------------------------------
### Event Data Example - Record Start
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/roblox
Example data structure for the `record_start` event.
```JSON
{"events":[{"name":"record_start","data":""}]}
```
--------------------------------
### match_info quest_start Event Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/monster-hunter-wilds
This example shows the data structure when the quest_start event is fired upon the local player starting a quest.
```json
{"events":[{"name":"quest_start","data":"quest_start"}]}
```
--------------------------------
### Minecraft Match Start Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/minecraft?game-tab=events-status
Example data for the 'match_start' event, fired when loading into a map.
```json
{"events":[{"name":"match_start","data":"null"}]}
```
--------------------------------
### Global Hotkey Example (Single Game)
Source: https://dev.overwolf.com/ow-native/reference/settings/hotkeys-api
This example shows how to set a global hotkey for all installed games. The 'binding' field provides a human-readable name, while 'virtualKeycode' and 'modifierKeys' represent the key codes.
```json
{
"success":true,
"globals":[
{
"binding":"Ctrl+F3",
"name":"toggle_app",
"title":"Show/Hide Buff window",
"virtualKeycode":116, //F5
"modifierKeys":4, //Shift
"extension-uid":"caboggillkkpgkiokbjmgldfkedbfnpkgadakcdl",
"isPassthrough":false,
"hold":false,
"IsUnassigned":false
}
]
}
```
--------------------------------
### Game Phase Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/rainbow-six-siege?game-tab=events-status
This example demonstrates how to get the current game phase in Rainbow Six Siege.
```json
{"gameId":10826,"feature":"game_info","category":"game_info","key":"phase","value":"lobby"}
```
--------------------------------
### InstalledGameInfo Data Example
Source: https://dev.overwolf.com/ow-native/reference/games/ow-games
This example demonstrates the structure of the InstalledGameInfo object, which holds information about games installed on the user's system. It includes game IDs, paths, and verification timestamps, along with a nested GameInfo object.
```json
{
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... }
}
```
--------------------------------
### Match Info: Match Started Data Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/roblox?game-tab=events-status
Example data structure for the match_started feature within match_info. Possible values are true or false.
```JSON
{"feature":"match_info","category":"match_info","key":"match_started","value":true}
```
--------------------------------
### Overwatch Match Start Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/overwatch
This snippet shows the data structure for the 'match_start' event in Overwatch.
```json
{"name":"match_start","data":""}
```
--------------------------------
### Match Started Info Update
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/league-of-legends-arena?game-tab=events-status
Data example for the 'match_started' info update, indicating that the match has begun. This is part of the game_info category.
```json
{"feature":"match","category":"game_info","key":"match_started","value":true}
```
--------------------------------
### Fortnite Emote Start Data Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/fortnite?game-tab=events-status
Example of an emote start event, typically indicating the start of an in-game emote.
```json
{"gameId":21216,"feature":"match_info","key":"emote_start","value":null}
```
--------------------------------
### RecordingAppOptions Example
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/recorder/interfaces/RecordingAppOptions
An example demonstrating how to set configuration options for the recording application.
```APIDOC
## RecordingAppOptions
### Description
Configuration options for launching or customizing the recording application behavior.
### Properties
#### enableDebugLogs
- **Type**: `boolean`
- **Description**: Enables verbose debug logs for the recorder. Can be used to troubleshoot issues during recording.
#### showDebugWindow
- **Type**: `boolean`
- **Description**: Whether to show the recorder capture (OBS) window during runtime. Useful for debugging or development purposes.
### Example
```typescript
const options: RecordingAppOptions = {
showDebugWindow: true,
enableDebugLogs: true,
};
```
```
--------------------------------
### Global Hotkey Example (Multiple Games with Exception)
Source: https://dev.overwolf.com/ow-native/reference/settings/hotkeys-api
This example demonstrates setting a global hotkey for all games, with a specific override for 'League of Legends'. It illustrates how to define game-specific hotkey configurations.
```json
{
"success":true,
"globals":[
{
"binding":"Ctrl+F3",
"name":"toggle_app",
"title":"Show/Hide Buff window",
"virtualKeycode":116, //F5
"modifierKeys":4, //Shift
"extension-uid":"caboggillkkpgkiokbgldfkedbfnpkgadakcdl",
"isPassthrough":false,
"hold":false,
"IsUnassigned":false
}
],
"games":{
"5426":[
{
"binding":"Ctrl+F3",
"name":"toggle_app",
"title":"Show/Hide Buff window",
"virtualKeycode":68, //D
"modifierKeys":2, //Ctrl
"extension-uid":"caboggillkkpgkiokbgldfkedbfnpkgadakcdl",
"isPassthrough":false,
"hold":false,
"IsUnassigned":false
}
]
}
}
```
--------------------------------
### Discord Get Guilds Success Example
Source: https://dev.overwolf.com/ow-native/reference/social/discord
Example data structure for a successful response from the get Guilds method, listing guilds the user is registered to.
```json
{
"status": "success",
"guilds": [
{
"id": "310742576380772355",
"name": "Overwolf",
"icon": "https://cdn.discordapp.com/icons/310742576380772355/ff2c69e1b4b4d3563fdfbeb6e8a96d37.png",
"owner": false,
"roles": null
},
{
"id": "407312977017045002",
"name": "PUBGG",
"icon": "https://cdn.discordapp.com/icons/407312977017045002/032b6941ca08ffcd89bbcb7fb16b2217.png",
"owner": false,
"roles": null
}
]
}
```
--------------------------------
### Example Data: Success
Source: https://dev.overwolf.com/ow-native/reference/games/launchers
This JSON object represents a successful response from getRunningLaunchersInfo, detailing a running launcher.
```json
{
"success": true,
"launchers":[
{
"title":"League of Legends Launcher",
"id":54271,
"classId":5427,
"isInFocus":false,
"position":{
"top":252,
"left":2066,
"width":1280,
"height":720
},
"handle":329882,
"commandLine":"E:/Games/RADS/projects/league_client/releases/0.0.0.65/deploy/LeagueClientUx.exe "--release=0.0.0.35" "--remoting-auth-token=scIN957coAwcbo0WW78nzg" "--rads-product-directory=E:/Games/RADS/solutions/league_client_sln/releases/0.0.0.35/deploy/" "--respawn-command=LeagueClient.exe" "--respawn-display-name=League of Legends" "--app-port=57610" "--install-directory=E:/Games/" "--app-name=LeagueClient" "--ux-name=LeagueClientUx" "--ux-helper-name=LeagueClientUxHelper" "--log-dir=LeagueClient Logs" "--bugsplat-name=league_client_riotgames_com" "--bugsplat-platform-id=EUW1" "--project=LeagueClient" "--app-log-file-path=E:/Games/Logs/LeagueClient Logs/2017-04-20T11-12-28_9576_LeagueClient.log" "--app-pid=9576",
"processId":1468,
"path":"E:/Games/RADS/projects/league_client/releases/0.0.0.65/deploy/LeagueClientUx.exe"
}
]
}
```
--------------------------------
### start(settings, callback)
Source: https://dev.overwolf.com/ow-native/reference/streaming/ow-streaming
Starts the streaming capture with the provided settings. The callback function will be invoked upon completion or error.
```APIDOC
## start(settings, callback)
### Description
Starts the streaming capture with the provided settings. The callback function will be invoked upon completion or error.
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
* **settings** (object) - Required - Configuration object for the stream.
* **callback** (function) - Required - A function to be called with the result of the operation.
```
--------------------------------
### Replay Settings Configuration Example
Source: https://dev.overwolf.com/ow-native/reference/media/replays
This JSON object shows how to configure replay settings, including audio, video buffering, peripheral capture, and disk quota management.
```json
"settings": {
"video": { "buffer_length": 20000 },
"audio": {
"mic": {
"volume": 100,
"enable": true
},
"game": {
"volume": 75,
"enable": true
}
},
"peripherals": {
"capture_mouse_cursor": "both"
},
"quota": {
"max_quota_gb": 2,
"excluded_directories": [ "cool_session" ]
}
}
```
--------------------------------
### Example manifest.json
Source: https://dev.overwolf.com/ow-native/reference/manifest/manifest-json
This is an example of a manifest.json file, showcasing basic app configurations.
```json
{
"meta": {
"name": "My App",
"version": "1.0.0",
"author": "My Company"
},
"app": {
"name": "My App",
"internalName": "my_app",
"version": "1.0.0"
},
"launch": {
"வைத்": "index.html",
"width": 800,
"height": 600
},
"permissions": [
"game_info"
],
"showInAppstore": true,
"minAppVersion": "0.1.0"
}
```
--------------------------------
### match_info Sleep Start Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/schedule1?game-tab=events-status
Example data structure for the sleep_start event in match_info.
```json
{"events":[{"name":"sleep_start","data":null}]}
```
--------------------------------
### Setup Ads SDK and Create OwAd Instance
Source: https://dev.overwolf.com/ow-native/reference/ads/owad
Fetches the latest Ads SDK and initializes an OwAd instance. Use the `onload` and `onerror` callbacks to handle SDK loading status. The `OwAd` constructor requires a DOM element and mandatory ad settings.
```html
```
--------------------------------
### Fortnite Emote Start Event Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/fortnite
Indicates the start of a player's emote action.
```json
{"events":[{"name":"emote_start","data":null}]}
```
--------------------------------
### Get List of Installed Extensions
Source: https://dev.overwolf.com/ow-native/reference/extensions/ow-extensions
Retrieves an array containing information about all installed Overwolf applications.
```javascript
overwolf.extensions.getExtensions(function(result) {
console.log("Get extensions result: " + JSON.stringify(result));
});
```
--------------------------------
### App Launch Origin Example
Source: https://dev.overwolf.com/ow-native/reference/extensions/ow-extensions
This example shows the format of the origin URL when an app is launched while already running. It includes query parameters indicating the launch source.
```url
overwolf-extension://hffhbjnafafjnehejohpkfhjdenpifhihebpkhni/index.html?source=gamelaunchevent
```
--------------------------------
### Battle Start Event Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/league-of-legends-arena?game-tab=events-status
Example of a battle_start event notification. The data field is empty for this event.
```json
{"events":[{"name":"battle_start","data":""}]}
```
--------------------------------
### init
Source: https://dev.overwolf.com/ow-native/reference/logitech/led
Initializes the LED API.
```APIDOC
## init(callback)
### Description
Initializes the LED API.
### Parameters
#### Request Body
- **callback** (function) - Required - Callback with the result of the request
```
--------------------------------
### Game Window Capture Configuration Example
Source: https://dev.overwolf.com/ow-native/reference/streaming/ow-streaming
Example JSON structure for configuring game window capture settings. Note the default values and version added information.
```json
"game_window_capture": {
"enable_when_available": bool, // Disabled by default
"capture_overwolf_windows": bool // Default value is taken from the Overwolf Settings
}
```
--------------------------------
### AppCenter, ClientInstanceManager, and UserInformationLog Details
Source: https://dev.overwolf.com/ow-native/guides/test-your-app/ow-logs/trace
This log snippet shows the initialization process of the AppCenter, ClientInstanceManager, and UserInformationLog components. It includes details about the Overwolf executable, its version, and user-specific information like UID, MUID, and channel.
```log
2021-07-20 10:21:00,606 (INFO) [UI][12564] AppCenter - command line: C:\Program Files (x86)\Overwolf\Overwolf.exe -from-startmenu -launchapp ojgnfnbjckbpfaciphphehonokbggjhpnnoafack
2021-07-20 10:21:00,607 (INFO) [UI][12564] AppCenter - Running dll folder: C:\Program Files (x86)\Overwolf\0.174.87.15
2021-07-20 10:21:00,657 (INFO) [UI][12564] AppCenter - Registering for restart with commandline: -from-startmenu -launchapp ojgnfnbjckbpfaciphphehonokbggjhpnnoafack -ARR 1
2021-07-20 10:21:00,704 (INFO) [UI][12564] AppCenter - Process tree: OverwolfLauncher - C:\Program Files (x86)\Overwolf\OverwolfLauncher.exe (35256) explorer - C:\Windows\explorer.exe (9916)
2021-07-20 10:21:00,714 (INFO) [UI][12564] AppCenter - Found 1 processes named 'Overwolf'
2021-07-20 10:21:00,719 (INFO) [UI][12564] AppCenter - is unique process: True
2021-07-20 10:21:00,721 (INFO) [UI][12564] ClientInstanceManager - Testing overwolf instances
2021-07-20 10:21:00,721 (INFO) [UI][12564] ClientInstanceManager - First unique Overwolf instance
2021-07-20 10:21:00,760 (INFO) [UI][12564] CefGlobalFlags - Global CEF flags init
2021-07-20 10:21:00,937 (INFO) [UI][12564] LoginSession - Initializing Login Session (Windows 10 64-bit, .NET 4.5, 10.0.19041.1023)
2021-07-20 10:21:00,940 (INFO) [ 8][8868] UserInformationLog - UID: OW_c58ed287-9974-4f2f-829f-6826d8bc6143
2021-07-20 10:21:00,940 (INFO) [ 8][8868] UserInformationLog - MUID: c17f3db1-9075-4045-9507-197c7eac9126
2021-07-20 10:21:00,941 (INFO) [ 8][8868] UserInformationLog - Username:
2021-07-20 10:21:00,941 (INFO) [ 8][8868] UserInformationLog - Channel: website (ML:website)
2021-07-20 10:21:00,942 (INFO) [ 8][8868] UserInformationLog - CurrentVersion: 0.174.87.15
2021-07-20 10:21:00,942 (INFO) [ 8][8868] UserInformationLog - LastVersion: 0.174.0.10
2021-07-20 10:21:00,943 (INFO) [ 8][8868] UserInformationLog - UpdateRequireUAC: false
```
--------------------------------
### Game Phase Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/counter-strike-2
This JSON example demonstrates how the current game phase (e.g., live, warmup) is reported.
```json
{"info":{"live_data":{"game_phase":"live"}},"feature":"match_info"}
```
--------------------------------
### Round Start Event Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/rainbow-six-siege
Example of the 'roundStart' event, fired when a new round begins. It has no associated data.
```json
{"events":[{"name":"roundStart","data":""}]}
```
--------------------------------
### Overwolf Packages API Example
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/packages/Overview
Demonstrates how to use the Overwolf Packages API to track game events, start recording, and register for game launch notifications. Ensure the Overwolf API is initialized before use.
```javascript
const app = overwolf.packages as OWPackages;
// Start tracking game launch/exit events
app.utility.trackGames({ includeUnsupported: true });
// Register for game launch
app.utility.on("game-launched", (gameInfo) => {
console.log("Game launched:", gameInfo.name);
});
// Start recording
await app.recorder.startRecording({
filePath: "C:/Videos/gameplay",
audioTrack: 1,
});
```
--------------------------------
### Draft Start Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/magic-the-gathering-arena
Example of the event data when a draft begins. The data field is empty for this event.
```json
{"events":[{"name":"draft_start","data":""}]}
```
--------------------------------
### Day Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/elden-ring-nightreign
Example data structure for the 'day' event, which fires at the start of a new day in the game.
```json
{"events":[{"name":"day","data":"day"}]}
```
--------------------------------
### Rainbow Six Siege Round Start Log Data Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/rainbow-six-siege?game-tab=events-status
Provides an example of the data structure for a round start event in Rainbow Six Siege. This includes map, team, operator class, weapon, gadgets, and health information.
```json
{"gameId":10826,"feature":"match_info","category":"match_info","key":"round_start_log","value":"{\"MAP\":\"0000005D7B68A718\",\"TEAM\":\"0\",\"CLASS\":\"00000037802D16C5\",\"CTU\":\"00000040705E6C91\",\"ROLE\":\"Attacker\",\"WEAPON1\":\"00000037802CC899\",\"W1SIGHT\":\"0000003EA76C2169\",\"W1MUZZLE\":\"0000003CFD8FC8E9\",\"W1LASER\":\"0000003CFD8FE45C\",\"W1GRIP\":\"0000003CFD8FDCEA\",\"W1SKIN\":\"00000037802CE443\",\"WEAPON2\":\"00000037802CC866\",\"W2SIGHT\":\"00000037802CC808\",\"W2MUZZLE\":\"0000003CFD8EC413\",\"W2LASER\":\"00000037802CC857\",\"W2GRIP\":\"00000037802CC847\",\"W2SKIN\":\"00000037802CE443\",\"GADGET1\":\"00000037802D1224\",\"GADGET2\":\"00000037802D1249\",\"OPHEADGEAR\":\"0000005EB74DA690\",\"OPUNIFORM\":\"0000005EB74DA906\",\"CHARM\":\"0000003692C57FAC\",\"DRONESKIN\":\"0000005B154D405A\",\"CHECKPOINTID\":\"\",\"HEALTH\":110,\"speed\":0}"}
```
--------------------------------
### Round Start Event Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/league-of-legends-arena?game-tab=events-status
Example of a round_start event notification. The data field contains the current round number as a string.
```json
{"events":[{"name":"round_start","data":"3"}]}
```
--------------------------------
### Manifest Hotkey Configuration Example
Source: https://dev.overwolf.com/ow-native/guides/general-tech/hotkeys-best-practices
Define hotkeys in your application's manifest file. This example shows configurations for a 'show_YourAppName' hotkey and a 'save_YourAppName' hotkey, including action types, default key combinations, and passthrough settings.
```json
"hotkeys": {
"show_YourAppName": {
"title": "Show Player",
"action-type": "custom",
"default": "Shift+F9",
"passthrough": true,
"hold": true
},
"save_YourAppName": {
"title": "Save Replay for later",
"action-type": "custom",
"default": "Ctrl+Shift+F9"
}
}
```
--------------------------------
### Match Started Status Update Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/league-of-legends-arena?game-tab=events-status
Example of a matchStarted status update, indicating whether a match has begun. This is a boolean string value.
```json
{"info":{"game_info":{"matchStarted":"true"}},"feature":"matchState"}
```
--------------------------------
### Dota 2 New Game Event Example
Source: https://dev.overwolf.com/ow-electron/live-game-data-gep/supported-games/dota-2
This data example represents the event fired when a new Dota 2 match starts.
```json
{"events":[{"name":"new_game","data":""}]}
```
--------------------------------
### GameLaunchEventOptions Example
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/overlay/interfaces/GameLaunchEventOptions
Demonstrates how to configure GameLaunchEventOptions to force OOPO mode and mixed-mode mouse control.
```typescript
const options: GameLaunchEventOptions = {
forceOOPO: true,
forceOOPOMixedMode: true,
};
```
--------------------------------
### Object Data Example: General Extension Settings
Source: https://dev.overwolf.com/ow-native/reference/settings/ow-settings
This example shows the structure for GeneralExtensionSettings, used to configure app behavior like auto-launch and exit with Overwolf client.
```json
{
"settings": {
"auto_launch_with_overwolf": true,
"exit_overwolf_on_exit": false,
"channel": "channel_name"
}
}
```
--------------------------------
### Summoner ID Update Example
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/league-of-legends-arena?game-tab=events-status
Example of a summoner ID update, providing the user's unique Summoner ID. This is fired immediately with game start.
```json
{"info":{"summoner_info":{"id":"21549264"}},"feature":summoner_info}
```
--------------------------------
### Get Overwolf Install Time and Uptime
Source: https://dev.overwolf.com/ow-native/reference/utils/ow-utils
Retrieves the installation time of Overwolf and the client's current uptime in seconds. This is useful for analytics or user-facing information.
```javascript
overwolf.utils.getInstallTime(function(result) {
console.log("Overwolf install time: " + result.installTime);
console.log("Overwolf uptime: " + result.uptimeSeconds + " seconds");
});
```
--------------------------------
### User Retention Weekly API Request Example
Source: https://dev.overwolf.com/ow-native/developers-console/dev-console-apis/performance-apis/user-retention-weekly
Example of a GET request to the User Retention Weekly API. Ensure to replace {{app_id}} with your actual app ID.
```bash
{{base_url}}/performance/user-retention-weekly?app_id=%7B%7Bapp_id%7D%7D&country_name=All%20Countries&attribution=All%20Attributions
```
--------------------------------
### Example Release Notes API URL
Source: https://dev.overwolf.com/ow-electron/developers-console/releases-management/release-management
An example of a fully constructed API URL with sample app ID and version.
```http
https://console-api.overwolf.com/v1/apps/npijmgiaiiemcnijaljcfddgeihcbifdbhpffihe/versions/6.0.71/release-notes/${page}
```
--------------------------------
### Get Hotkey Callback Example
Source: https://dev.overwolf.com/ow-native/reference/settings/ow-settings
This example demonstrates the structure of the callback argument when successfully retrieving a hotkey assigned to a feature ID using `getHotKey`. Note that this function is deprecated.
```json
{
"status": "success",
"hotkey ": "Ctrl+F2"
}
```
--------------------------------
### IOverlayHotkey Examples
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/overlay/interfaces/IOverlayHotkey
Demonstrates defining hotkey configurations using the IOverlayHotkey interface. The first example uses a numeric keyCode, while the second uses a W3C KeyboardEvent.code string and includes a custom modifier.
```typescript
const screenshotHotkey: IOverlayHotkey = {
name: "take-screenshot",
keyCode: 80, // p
modifiers: { ctrl: true, alt: true },
passthrough: false,
};
// Since 1.13.3: use W3C KeyboardEvent.code strings (preferred, layout-independent)
const toggleHotkey: IOverlayHotkey = {
name: "toggle",
keyCode: "KeyF",
modifiers: { ctrl: true, custom: "Tab" },
passthrough: true,
};
```
--------------------------------
### Start Recording with Options
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/recorder/interfaces/IOverwolfRecordingApi
Starts a video recording session with specified options, capture settings, and an optional stop listener. Fires 'recording-started' on success and 'recording-stopped' when the session ends.
```typescript
startRecording(
options: RecordingOptions,
setting?: CaptureSettings,
listener?: StopCallback): Promise;
```
--------------------------------
### User Retention Weekly Request Example
Source: https://dev.overwolf.com/ow-electron/developers-console/dev-console-apis/performance-apis/user-retention-weekly
Example of a GET request to the user retention weekly endpoint. Ensure to replace placeholders like {{base_url}} and {{app_id}} with actual values.
```http
{{base_url}}/performance/user-retention-weekly?app_id=%7B%7Bapp_id%7D%7D&country_name=All%20Countries&attribution=All%20Attributions
```
--------------------------------
### Retrieve App Install Statistics
Source: https://dev.overwolf.com/ow-electron/developers-console/dev-console-apis/performance-apis/app-installs
Use this GET request to fetch installation data for a specific application. Ensure the base URL and required query parameters are correctly formatted.
```http
{{base_url}}/performance/app-installs?app_id=%7B%7Bapp_id%7D%7D&country_name=All%20Countries&days_back=Last%20180%20Days&installation_source=All%20Sources
```
--------------------------------
### Sample App Directory Structure
Source: https://dev.overwolf.com/ow-native/getting-started/onboarding-resources/sample-app-components
This tree outlines the main folders and files present in the Overwolf sample app repository.
```text
+---- css
+---- img
+---- windows
+---- icons
+---- odk-ts
+---- types
+---- manifest.json
+---- consts.ts
+---- package.json
+---- tsconfig.json
+---- webpack.config.js
```
--------------------------------
### GET /performance/app-installs
Source: https://dev.overwolf.com/ow-electron/developers-console/dev-console-apis/performance-apis/app-installs
Retrieves app install statistics for a specified application over a defined period and country.
```APIDOC
## GET /performance/app-installs
### Description
Retrieves app install statistics for a specified application over a defined period and country.
### Method
GET
### Endpoint
{{base_url}}/performance/app-installs
### Parameters
#### Query Parameters
- **app_id** (string) - Required - The app ID you want to query.
- **country_name** (string) - Required - Name of a specific country. Use 'All Countries' for the entire world.
- **days_back** (string) - Required - The timeframe for which the statistics are fetched.
- **installation_source** (string) - Required - The download source for the app. Use 'All Sources' to retrieve all the sources.
#### Headers
- **authorization** (string) - Required - API Key for authentication.
### Request Example
{{base_url}}/performance/app-installs?app_id={{app_id}}&country_name=All%20Countries&days_back=Last%20180%20Days&installation_source=All%20Sources
### Response
#### Success Response (200)
- **rows.total_installations** (integer) - Total number of installations.
- **rows.installation_source** (string) - The source of the installation.
- **rows.install_date** (string) - The date of the installation.
- **rows.updated_at** (string) - Last update timestamp.
- **rows.app_id** (string) - The application ID.
- **rows.unique_installations** (integer) - Count of unique installations.
- **rows.country_name** (string) - The country associated with the data.
- **columns.friendly_name** (string) - Display name of the column.
- **columns.type** (string) - Data type of the column.
- **columns.name** (string) - Internal name of the column.
#### Response Example
{
"rows": [
{
"total_installations": 100,
"installation_source": "string",
"install_date": "2023-01-01",
"updated_at": "2023-01-02T00:00:00Z",
"app_id": "string",
"unique_installations": 90,
"country_name": "United States"
}
],
"columns": [
{
"friendly_name": "string",
"type": "string",
"name": "string"
}
]
}
```
--------------------------------
### Configure OwAd with Custom Settings
Source: https://dev.overwolf.com/ow-native/reference/ads/owad
Example of creating an OwAd instance with custom size, tracking, and container ID settings.
```javascript
const owAd = new OwAd(document.getElementById("sidebar-ad"), {
size: [{ width: 300, height: 250 }, { width: 160, height: 600 }],
customTracking: {
page: "main_menu",
placement: "right_rail"
},
containerId: "sidebar-ad",
});
```
--------------------------------
### Get Game Database Info by Class ID
Source: https://dev.overwolf.com/ow-native/reference/games/ow-games
Retrieves game information using its Class ID, similar to getGameInfo. It returns either installed game details or indicates if the game is not detected as installed.
```javascript
overwolf.games.getGameDBInfo(gameClassId, callback)
```
--------------------------------
### startReplays
Source: https://dev.overwolf.com/ow-electron/reference/Overwolf-electron-APIs/recorder/interfaces/IOverwolfRecordingApi
Starts the replay capture service in memory. This method requires replay options and can optionally take capture settings.
```APIDOC
## startReplays()
### Description
Starts replay capture service in memory. Fires the `'replays-started'` event on success.
### Method
startReplays
### Parameters
#### Path Parameters
- `options` (ReplayOptions) - Required - Replay configuration such as buffer length and paths.
- `setting` (CaptureSettings) - Optional - Optional capture settings for the replay session.
### Returns
`Promise`
### Throws
RecorderError if replays fail to start.
### See
ReplayOptions
```
--------------------------------
### Game State Info Update Examples
Source: https://dev.overwolf.com/ow-native/live-game-data-gep/supported-games/valorant
Example data for the 'state' info update within 'game_info', showing different possible game states like 'WaitingToStart' and 'InProgress'.
```json
{"info":{"game_info":{"state":"WaitingToStart"}},"feature":"game_info"}
```
```json
{"info":{"game_info":{"state":"InProgress"}},"feature":"game_info"}
```
--------------------------------
### Start Listening to File Changes
Source: https://dev.overwolf.com/ow-native/reference/io/ow-io
Starts streaming a text file line-by-line from the local filesystem. Requires FileSystem permission. Use a unique ID for each listener.
```javascript
overwolf.io.listenOnFile('test.txt','C:\\test\\test.txt', {},console.log)
```