# Enterprise deployment Postman app versioning and the Postman Enterprise App are available with **[Postman Enterprise plans](https://www.postman.com/pricing/)**. Postman Enterprise offers greater control to administrators looking to deploy and manage Postman at scale. Admins can choose to [manage Postman app versioning](#managing-postman-app-versioning) with Postman support, or [deploy the Postman Enterprise app](#deploying-the-postman-enterprise-app) to their organization. ## Comparing the Postman Enterprise app and Desktop app The following table shows some differences between the Postman Enterprise app and the [Postman Desktop app](/docs/getting-started/installation/installation-and-updates/): | Postman Enterprise app | Postman Desktop app | | ------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | Deployed remotely by administrators | Locally installed by each user | | Administrators set the Postman version for all users in their team; users can't download updates | Each user can download updates for the latest version of Postman | | Encrypts your [local value](/docs/sending-requests/variables/variables/#understanding-variables) of global, environment, and collection variables | Doesn't encrypt the local value of global, environment, and collection variables | ## Managing Postman app versioning Postman app versioning enables you to set a version of Postman for the entire organization or team. You can choose to set Postman v8, Postman v9, Postman v10, or Postman v11 as your team's version. App versioning is a back-end operation and must be requested by a [Postman Admin](/docs/administration/roles-and-permissions/#team-roles). To request this change, reach out to your Postman Account Manager or [contact Postman support](https://www.postman.com/support/). Check out [Postman's release notes](https://www.postman.com/release-notes/) to compare app versions, or reach out to your Postman Admin for help in selecting your team's version. ## Deploying the Postman Enterprise app Postman's Enterprise app is a variant of Postman's Desktop app that offers greater control to administrators looking to deploy Postman at an enterprise level. It's available as an MSI package for Windows and PKG package for macOS, and supports silent installation, system-wide installation, and additional configurations to control how Postman is installed on users' devices. ## Downloading the Postman Enterprise app You must be a [Postman Admin](/docs/administration/roles-and-permissions/#team-roles) to access the Postman Enterprise app package. To download the Postman Enterprise app, open Postman and click **Team** in the upper right, then click **Team Settings > Enterprise application**. Postman Enterprise app download Reach out to your Postman Admin or [contact Postman support](https://www.postman.com/support/) for help with the Postman Enterprise app. ## Installing the Postman Enterprise Windows app Once you've downloaded the Postman Enterprise MSI package, you can move forward with installing the app. ### INSTALLDIR The `INSTALLDIR` public property is used to select a custom installation directory. If this public property isn't manually overwritten, it defaults to `%PROGRAMFILES%\Postman\"Postman Enterprise"` for system-wide installations and `%USERPROFILE%\AppData\Local\Programs\Postman\"Postman Enterprise"` for per-user installations. For example, you can run the following command to perform a system-wide installation to a custom directory: ```shell msiexec /i path/to/package.msi INSTALLDIR=C:\custom ``` ### The MSIINSTALLPERUSER option The standard `MSIINSTALLPERUSER` option is used to install the app per-user instead of system-wide. By default, the MSI performs a system-wide installation. Set `MSIINSTALLPERUSER` to `1` to perform a per-user installation. For example, you can run the following command to perform a per-user installation to the default installation directory: ```shell msiexec /i path/to/package.msi MSIINSTALLPERUSER=1 ``` This public property can be used with `INSTALLDIR` to perform a per-user installation to a custom directory: ```shell msiexec /i path/to/package.msi MSIINSTALLPERUSER=1 INSTALLDIR=%USERPROFILE%\custom ``` ### Silent installation A silent installation or uninstallation is performed by passing the `/qn` option to `msiexec`: ```shell msiexec /i path\to\package.msi /qn MSIINSTALLPERUSER=1 ``` Running in silent installation mode will exclude error messages. If the installation fails for any reason, `%ERRORLEVEL%` won't equal `0` but no errors will display. It's always recommended to [run silent installations with logging enabled](#enabling-verbose-logging-for-installation). ### Enabling verbose logging for installation The `msiexec` tool can be configured to output debug log information about the installation process with the `/l*v` option. For example, you can output debug information to `C:\log.txt`: ```shell msiexec /i path\to\package.msi /l*v C:\log.txt ``` ### MSI installation options Settings can be changed during an MSI application installation. For example, you can set the `TEAM_IDS` installation option to specify which Postman teams can use the Enterprise app: ```shell msiexec /i path\to\package.msi TEAM_IDS="1234" ``` You can also install an MSI with multiple installation options: ```shell msiexec /i path\to\package.msi MY_STRING_OPTION='hello' MY_INTEGER_OPTION=7 ``` ### Updating the Postman Enterprise Windows app To upgrade the Postman Enterprise app, you can install the new version of the MSI package. Windows Installer will recognize this updated installation as an upgrade. You must pass the exact same public properties that were used when you originally installed Postman Enterprise. For example, if you first installed Postman Enterprise with the following, you must install the new MSI package in the same way: ```shell INSTALLDIR=C:\custom and MSIINSTALLPERUSER=1 ``` Downgrading the Postman Enterprise app isn't supported and attempts to do so will result in an error message. You can force a downgrade by manually removing the current version and then installing an earlier version of Postman Enterprise. ### Uninstalling the Postman Enterprise Windows app The `msiexec` command-line tool can be used to remove an existing app using the `/x` option: ```shell msiexec /x path\to\package.msi ``` The app can also be removed from the Add/Remove Programs section in system settings or from the system Control Panel app. ## Installing the Postman Enterprise macOS app macOS supports a flexible installer technology called PKG that can be installed without user intervention in scripting or enterprise deployment scenarios. PKG installer packages have the following capabilities: * You can select system-wide, per-user installation, or custom installation disks. * They don't require reboots after installation. * They're fully configurable for silent installation. * Apple silicon is supported. ### Installing a PKG installer package To install a PKG installer, open the file and follow the interactive configurable wizard. PKGs can also be installed from a command-line interface using the `installer` tool included in macOS. The `LocalSystem` target instructs the PKG to install app bundles to `/Applications` and store installation settings at `/Library/Preferences`: ```shell sudo installer -dumplog -verbose -pkg path/to/app.pkg -target LocalSystem ``` You can also perform a per-user installation by specifying the `CurrentUserHomeDirectory` target. Given this target, the PKG installs app bundles to `$HOME/Applications` and stores installation settings at `$HOME/Library/Preferences`: ```shell installer -dumplog -verbose -pkg path/to/app.pkg -target CurrentUserHomeDirectory ``` ### Uninstalling PKG installers A disadvantage of PKG installers is that macOS doesn't provide a standard mechanism to uninstall PKGs. However, the `pkgutil` tool included with macOS can be used to get information about the current PKGs installed on a system and the files that each installation created using the app bundle identifier. If you don't know the bundle identifier of the app you want to uninstall, you can print the list of all the PKG bundle identifiers installed either system-wide or per-user: ```shell # For system-wide PKGs pkgutil --volume / --packages # For per-user PKGs pkgutil --volume "$HOME" --packages ``` Given the app bundle identifier, you can list the files written by the PKG, relative to its installation root: ```shell # For system-wide PKGs pkgutil --volume / --files # For per-user PKGs pkgutil --volume "$HOME" --files ``` You can remove the PKG by deleting the files printed out by these commands relative to `$HOME`, depending on if the PKG was installed system-wide or per user. After removal, you must notify macOS that the PKG was removed: ```shell # For system-wide PKGs sudo pkgutil --volume / --forget # For per-user PKGs pkgutil --volume "$HOME" --forget ``` ### PKG installation options Settings can be changed at installation time using the macOS `defaults` tool either before or after installing the PKG. For example, you can set the `TEAM_IDS` installation option to specify which Postman teams can use the Enterprise app: ```shell # For system-wide PKGs sudo defaults write /Library/Preferences/ TEAM_IDS -string "1234,5678" # For per-user PKGs defaults write TEAM_IDS -string "1234,5678" ``` Installing a PKG and updating some of its installation options looks like this: ```shell sudo installer -dumplog -verbose -pkg path/to/app.pkg -target LocalSystem sudo defaults write /Library/Preferences/ MY_STRING_OPTION -string "hello" sudo defaults write /Library/Preferences/ MY_BOOLEAN_OPTION -boolean YES sudo defaults write /Library/Preferences/ MY_INTEGER_OPTION -integer 7 ``` ### PKG installer logging It's recommended to use the `-dumplog` and `-verbose` flags supported by `installer` to get detailed information about an installation. For example: ```shell sudo installer -dumplog -verbose -pkg path/to/app.pkg -target LocalSystem ``` ## Installing the Postman Enterprise Linux app The Postman Enterprise app supports the same [64-bit Linux systems](/docs/getting-started/installation/installation-and-updates/#install-postman-on-linux) as the Postman Desktop app. Before installing, ensure a clean installation: ```shell sudo snap remove postman-enterprise ``` Install the Postman Enterprise app with Snap: ```shell sudo snap install /path/to/postman-enterprise.snap --dangerous ``` The `--dangerous` option is required because the Postman Enterprise app isn't distributed through the Snap store. See the [Snap documentation](https://snapcraft.io/docs/install-modes#heading--dangerous) to learn more. ### Encrypting data This step is mandatory. To securely store local data, you must connect the Snap password manager service interface to the Postman Enterprise app: ```shell sudo snap connect postman-enterprise:password-manager-service ``` ### Uninstalling the Postman Enterprise Linux app Use this command to uninstall the app: ```shell sudo snap remove postman-enterprise ``` ## Login policy You can specify which Postman teams can use the app with the `TEAM_IDS` option. For example, in Linux, if you want teams with IDs `1234` and `4321` to have access: ```shell sudo snap set postman-enterprise TEAM_IDS="1234,4321" ``` To get your Postman team ID, you can [contact Postman support](https://www.postman.com/support/) or contact your Postman Account Manager. This configuration ensures that users must be signed in to a team you've specified in order to use the Postman Enterprise app. Users will only see the teams you've approved as options when signing in. Enterprise app sign in page