Each REF argument is a full or partial identifier in the flatpak ref format, which looks like "(app|runtime)/ID/ARCH/BRANCH". All elements except ID are optional and can be left out, including the slashes, so most of the time you need only specify ID. Any part left out will be matched against what is in the remote, and if there are multiple matches you will be prompted to choose one of them. You will also be prompted with choices if REF doesn't match anything in the remote exactly but is similar to one or more refs in the remote (e.g. "devhelp" is similar to "org.gnome.Devhelp").
By default this looks for both apps and runtimes with the given REF in the specified REMOTE, but you can limit this by using the --app or --runtime option, or by supplying the initial element in the REF.
If REMOTE is a uri or a path (absolute or relative starting with ./) to a local repository, then that repository will be used as the source, and a temporary remote will be created for the lifetime of the REF.
If the specified REMOTE has a collection ID configured on it, flatpak will search mounted filesystems such as USB drives as well as Avahi services advertised on the local network for the needed refs, in order to support offline updates. See ostree-find-remotes(1) for more information.
The alternative form of the command (with --from or --bundle) allows to install directly from a source such as a .flatpak single-file bundle or a .flatpakref application description. The options are optional if the first argument has the expected filename extension.
Note that flatpak allows to have multiple branches of an application and runtimes installed and used at the same time. However, only one version of an application can be current, meaning its exported files (for instance desktop files and icons) are visible to the host. The last installed version is made current by default, but this can manually changed with flatpak make-current.
Unless overridden with the --user or the --installation option, this command installs the application or runtime in the default system-wide installation.
The following options are understood:
-h, --help
--bundle
--from
--reinstall
--user
--system
--installation=NAME
--arch=ARCH
--subpath=PATH
--gpg-file=FILE
--no-deploy
--no-pull
--no-related
--no-deps
--or-update
--app
--runtime
--sideload-repo=PATH
-y, --assumeyes
--noninteractive
-v, --verbose
--ostree-verbose
$ flatpak install gedit
$ flatpak install flathub org.gnome.gedit
$ flatpak --installation=default install flathub org.gnome.gedit
$ flatpak --user install flathub org.gnome.gedit//3.30
$ flatpak --user install https://flathub.org/repo/appstream/org.gnome.gedit.flatpakref
$ flatpak --system install org.gnome.gedit.flatpakref
flatpak(1), flatpak-update(1), flatpak-list(1), flatpak-build-bundle(1), flatpak-flatpakref(1), flatpak-make-current(1), ostree-find-remotes(1)