Skip to content

Application Discovery Schema

Reference for the normalized application record emitted by all Launcher discovery providers. Use this page when you need the full field list and example JSON shape for policy authoring, diagnostics, or tooling.

What You'll Learn

  • How the normalized application record is structured
  • Which fields apply across providers
  • Where to find related discovery configuration details

See also:


Normalized Application Record

All providers emit the same shape. Fields not applicable to a provider are omitted.

json
{
  "id": "string",                      // stable identifier within a device/profile; used for dedupe
  "name": "string",                    // display name
  "description": "string",
  "iconRef": {
    "type": "file|bundle|appx|png|ico|icns|svg|favicon|webmanifest",
    "value": "string"                  // provider-specific handle (path, bundle ref, AppX icon ref, URL/favicon handle, etc.)
  },
  "source": {
    "provider": "windows.shortcuts|windows.msix|macos.launchservices|macos.homebrew|linux.freedesktop|linux.flatpak|linux.snap|cli.path|native.path|portable.apps|turbo.workspaces|container.dockerDesktop|web.bookmarks|web.pwa|saas.okta|saas.microsoft365|saas.generic",
    "ref": "string",                   // provider's native identifier (e.g., AUMID, desktop file path, browser profile+bookmark id, PWA app id, package id)
    "path": "string"                   // physical path where applicable (.lnk/.url/.desktop, .app bundle, browser store path)
  },
  "activation": {
    "type": "file|aumid|bundleId|desktopExec|url|pwaId",
    "file": "string",                  // executable path (when type=file)
    "args": ["string"],                // default arguments (tokenized); may apply to file and url activations (browser flags)
    "workingDirectory": "string",      // when type=file
    "aumid": "string",                 // Windows MSIX/UWP application user model id
    "bundleId": "string",              // macOS CFBundleIdentifier (from Info.plist)
    "desktopExec": {
      "command": "string",             // Linux Exec after parsing field codes
      "terminal": false
    },
    "url": "string",                   // HTTPS URL to open (when type=url)
    "browser": "system|edge|chrome|chromium|firefox|safari", // optional preferred browser for url/pwa launches
    "profile": "string",               // optional browser profile identifier (e.g., Default, Profile 1)
    "pwa": {                             // when type=pwaId
      "browser": "edge|chrome|chromium",
      "profile": "string",
      "appId": "string",               // browser-specific installed app id
      "scopeUrl": "string"             // optional scope for matching/dedupe
    }
  },
  "categories": ["string"],
  "tags": { "key": "value" },          // provider or enterprise annotations
  "capabilities": {
    "fileHandlers": [".ext"],
    "protocols": ["scheme"],
    "tasks": ["string"]
  }
}

Notes

  • Providers may omit fields that are not applicable to the underlying OS artifact or catalog entry.
  • Deduplication and provider priority rules are described in Application Discovery.