=============== HTTP API =============== Launcher uses port 33480 to provide the HTTP API that can be used by other programs to retrieve information about the current session or get the list of installed apps. This document describes all available HTTP endpoints supported by Launcher. Authentication ------------------------- [GET] ``/auth`` ##################### Returns Starfleet information about the current user session. **Method**: GET **Content type**: ``application/json`` Response ^^^^^^^^^^^^^^^ =============== ======== ================================================================================================================== Property Type Description =============== ======== ================================================================================================================== ``email`` string | Email used for authentication. Can be used to uniquely identify a user. ``username`` string | Preferred username displayed in the UI. This field should not be used for unique user identification. Use ``email`` field instead. ``accessToken`` string | The access token returned from Starfleet. ``idToken`` string | The ID token used in Starfleet for retrieving user's information. ``expires`` Date | The access token expiration date in ISO format. =============== ======== ================================================================================================================== Errors ^^^^^^^^^^^^^^^ ============== ========================================= Status Description ============== ========================================= HTTP401 User is not authenticated. ============== ========================================= .. _get-components: Installed apps and connectors ---------------------------------------- Launcher classifies all installed apps and connectors as ``_components_``. [GET] ``/components`` ########################### Returns the list of all installed apps and connectors. **Method**: GET **Content type**: ``application/json`` Response ^^^^^^^^^^^^^^^ Returns a list with the following **Component** objects (``?`` means that the property is optional): ======================== =================== ================================================================================================================== Property Type Description ======================== =================== ================================================================================================================== ``slug`` string | The unique component name. ``name`` string | The full displayed component name. ``version`` string | The latest version of this component available for download. Use ``installedVersions`` to check installed versions. ``shortName`` string | The short name used in the side menu. ``kind`` string | Specifies the component kind: ``apps`` or ``connectors``. ``category`` string | The category used for grouping this component in the library. ``productArea`` _string?_ | Represents the product area -- one product area can include multiple components that can be installed separately. Displayed in the component card title. ``installedVersions`` InstalledVersions | Lists versions of this component installed by the user. ``description`` string[] | Paragraphs with component description, supports markdown and HTML. ``platforms`` string[] | Represents OSs where this component can be installed. ``settings`` Settings[] | Represents settings used for installing this component. ``image`` _URL?_ | The image displayed on the detailed page. ``card`` _URL?_ | The image displayed on the card on the Exchange tab. ``icon`` _URL?_ | The icon displayed in the component card title. ``tags`` string[] | Tags shown below the component description. ``featured`` boolean | Defines if this component is shown in the featured section. ``featuredImage`` _URL?_ | The image displayed in the featured section. ``links`` string[] | Hyperlinks displayed in the library and in the component details. ======================== =================== ================================================================================================================== Installed Versions ^^^^^^^^^^^^^^^^^^^^^^^^ ============= ============== ==================================================================================== Property Type Description ============= ============== ==================================================================================== ``all`` string[] | All installed versions of this component. ``current`` string | The current installed version that is used for launching the component. ``latest`` string | The latest version of this component installed by the user. ============= ============== ==================================================================================== Settings ^^^^^^^^^^^^^^^^^^^^^ ======================= ========================= ==================================================================================== Property Type Description ======================= ========================= ==================================================================================== ``slug`` string | The unique component name. ``version`` string | The installed component version associated with these settings. ``packages`` Package[] | Thin packages used by this version. ``path`` string | The path to the main package. ``base`` string | The base path for the component that contains all packages. ``showInLibrary`` boolean | Defines whether this component should be displayed in the library. ``sideBySide`` boolean | Defines whether this component supports side-by-side installations. If side-by-side installations are not supported, then Launcher removes all previous component versions on install. ``runWithLauncher`` boolean | Specifies whether this component should be started automatically with Launcher. ``launch`` _Script?_ | The script used for launching the component. ``open`` _Script?_ | The script used for opening ``omniverse://`` links. ``preInstall`` _Script?_ | The script used before the installation starts. ``install`` _Script?_ | The main script for installing the component. ``postInstall`` _Script?_ | The script used after the installation. ``register`` _Script?_ | The script used when the user selects this component version. ``unregister`` _Script?_ | The script used to clean up the system when uses selects another component version. ``finalize`` _Script?_ | The script used after all previous versions of this component are unregistered and uninstalled from the system. Only runs if side-by-side installations are not supported. ``preUninstall`` _Script?_ | The script used before the uninstall. ``uninstall`` _Script?_ | The main script for uninstalling the component. ``postUninstall`` _Script?_ | The script used after the uninstall. ======================= ========================= ==================================================================================== Script ^^^^^^^^^^^^^^^^^ ================== ======================= ==================================================================================== Property Type Description ================== ======================= ==================================================================================== ``path`` string | Path to the script. ``root`` string | Defines where the component is installed. ``args`` _string[]?_ | Specifies all command line arguments used for the script. ``environment`` Map | Specifies all predefined environment variables used for the script. ================== ======================= ==================================================================================== Package ^^^^^^^^^^^^^^^^^ ======================= ========================= ==================================================================================== Property Type Description ======================= ========================= ==================================================================================== ``name`` string | The unique package name. ``url`` string | The unsigned URL for downloading the package. Can't be used directly, must be signed first. ``hash`` string | The package hash. Used to deduplicate installed packages. ``main`` _boolean?_ | Specifies if this package is the main package of the component. Main packages contain launcher.toml files and installation scripts. ======================= ========================= ==================================================================================== [GET] ``/components/:slug`` ################################## Returns information about the installed component with the specified slug. Method: ``GET`` Content type: ``application/json`` Response Returns a ``Component`` object. See details in :ref:`get-components` . Errors ^^^^^^^^^^^^^^^^ ================== ========================================================== Status Description ================== ========================================================== HTTP404 | Component with the specified slug is not installed. ================== ==========================================================