---
title: "Retrieve all application definitions"
method: GET
path: "/v2/apps"
tags: ["Application"]
---

# Retrieve all application definitions

`GET /v2/apps`

## Request

- Base URL: `https://fdc3.finos.org/appd`
- URL: `https://fdc3.finos.org/appd/v2/apps`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/finos/apis/fdc3-application-directory/docs/v2/apps/get.ts> (a function with typed inputs; its response is checked against the schema)

## Response `200`

OK

- AllApplicationsResponse
  - `applications` Application[]: List of applications
    - `appId` string, required: The unique application identifier located within a specific application directory instance.
    - `name` string, required: The name of the application. The name should be unique within an FDC3 App Directory instance. The exception to the uniqueness constraint is that an App Directory can hold definitions for multiple versions of the same app. The same appName could occur in other directories. We are not currently specifying app name conventions in the document.
    - `type` 'web' | 'native' | 'citrix' | 'onlineNative' | 'other', required: The technology type that is used to launch and run the application. Each application type implies a particular set of launch `details`. The supported types include: - `web`: Web applications launched via a URL - `native`: Native applications pre-installed on a device and launch via a filesystem path - `citrix`: Apps virtualized via Citrix - `onlineNative`: Native apps that have an online launcher, e.g. online ClickOnce app deployments. - `other`: Used to represent apps that do not conform to or cannot be launched via the other types, and are likely to be defined solely by a hostManifest. FDC3 Desktop Agents MUST support at least the `web` application type and MAY support any or all of the other types.
    - `details` union, required: The type specific launch details of the application. These details are intended to be vendor-agnostic and MAY be duplicated or overridden by details provided in the hostManifests object for a specific host.
      - WebAppDetails: Properties used to launch apps with `type: web`.
        - `url` string, uri, required: Application start URL.
      - NativeAppDetails: Properties used to launch apps with `type: native` that are already installed on the device.
        - `path` string, required: The path on disk from which the application is launched.
        - `arguments` string: Arguments that must be passed on the command line to launch the app in the expected configuration.
      - CitrixAppDetails: Properties used to launch apps virtualized apps with `type: citrix`.
        - `alias` string, required: The Citrix alias / name of the virtual app (passed to the Citrix SelfService qlaunch parameter).
        - `arguments` string: Arguments that must be passed on the command line to launch the app in the expected configuration.
      - OnlineNativeAppDetails: Properties used to launch a native apps with `type: onlineNative` that have an online launcher, e.g. online ClickOnce app deployments.
        - `url` string, uri, required: Application URL.
      - unknown
    - `version` string: Version of the application. This allows multiple app versions to be defined using the same app name. This can be a triplet but can also include things like 1.2.5 (BETA)
    - `title` string: Optional title for the application, if missing use appName, typically used in a launcher UI.
    - `tooltip` string: Optional tooltip description e.g. for a launcher
    - `lang` string: A language tag that specifies the primary language of both the application and its AppD entry, as defined by IETF RFC 5646.
    - `description` string: Description of the application. This will typically be a 1-2 paragraph style blurb about the application.
    - `categories` string[]: An array of string categories that describe the application. These are meant as a hint to catalogs or stores listing FDC3-enabled apps and it is expected that these will make a best effort to find appropriate categories (or category) under which to list the app. AppD record authors are encouraged to use lower-case and, where possible, to select categories from the following list: - allocations - analytics - charts - chat - communication - compliance - crm - developer tools - events - execution management - file sharing - market data - news - networking - office apps - order management - other - portfolio management - presentation - pricing - productivity - research - risk - screen sharing - security - spreadsheet - trade cost analysis - trading system - training - travel - video - visualization - weather
    - `icons` Icon[]: Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon
      - `src` string, uri: Icon URL
      - `size` string: Icon dimension formatted as `<height>x<width>`
      - `type` string: Image media type. If not present the Desktop Agent may use the src file extension
    - `screenshots` Screenshot[]: Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip
      - `src` string, uri: App Image URL
      - `size` string: Image dimension formatted as `<height>x<width>`
      - `type` string: Image media type. If not present the Desktop Agent may use the src file extension.
      - `label` string: Optional caption for the image
    - `contactEmail` string, email: Optional e-mail to receive queries about the application
    - `supportEmail` string, email: Optional e-mail to receive support requests for the application
    - `moreInfo` string, uri: Optional URL that provides more information about the application
    - `publisher` string: The name of the company that owns the application. The publisher has control over their namespace/app/signature.
    - `customConfig` NameValuePair[]: An optional set of name value pairs that can be used to deliver custom data from an App Directory to a launcher.
      - `name` string: name
      - `value` string: value
    - `hostManifests` HostManifests: A mapping from host name to a host-specific application manifest object or URI from which that manifest can be retrieved. The manifest should provide details required to launch and use the application within the specified host. The manifest _MAY_ duplicate or override information provided in the `details` field.
    - `interop` Interop: Metadata that describes how the application uses FDC3 APIs. This metadata serves multiple purposes: - It supports intent resolution by a desktop agent, by declaring what intents an app listens for. - It may be used, for example in an app catalog UI, to find apps that 'interoperate with' other apps. - It provides a standard location to document how the app interacts with user channels, app channels, and intents, for use by other app developers and desktop assemblers.
      - `intents` object: Describes the app's interactions with intents.
        - `listensFor` object: A mapping of Intents names that an app listens for via `fdc3.addIntentListener()` to their configuration. Used to support intent resolution by desktop agents. Replaces the `intents` element used in appD records prior to FDC3 2.0.
        - `raises` object: A mapping of Intent names that an app raises (via `fdc3.raiseIntent`) to an array of context type names that it may be raised with. Use the intent name "any" to represent use of the `fdc3.raiseIntentForContext` and `fdc3.findIntentForContext` functions, which allow the user to select from intents available for a specified context type. This metadata is not currently used by the desktop agent, but is provided to help find apps that will interoperate with this app and to document API interactions for use by other app developers.
      - `userChannels` object: Describes the application's use of context types on User Channels. This metadata is not currently used by the desktop agent, but is provided to help find apps that will interoperate with this app and to document API interactions for use by other app developers.
        - `broadcasts` string[]: Context type names that are broadcast by the application.
        - `listensFor` string[]: Context type names that the application listens for.
      - `appChannels` object[]: Describes the application's use of App Channels. This metadata is not currently used by the desktop agent, but is provided to help find apps that will interoperate with this app and to document API interactions for use by other app developers.
        - `name` string, required: The name of the App Channel.
        - `description` string: A description of how the channel is used.
        - `broadcasts` string[]: Context type names that are broadcast by the application on the channel.
        - `listensFor` string[]: Context type names that the application listens for on the channel.
    - `localizedVersions` LocalizedVersions: Provides localized alternatives to any field of the AppD record, which may also refer to an alternative version of the application that is also localized (e.g. by providing customConfig or an alternative URL). The keys to this object should be language tags as defined by IETF RFC 5646, e.g. en, en-GB or fr-FR.
  - `message` string: Response message providing status of query

## Other responses

- `400`: Bad request.
- `403`: Forbidden: Certificate authentication is not allowed for the requested user.
- `500`: Server error, see response body for further details.

---

[API](https://skmtc.dev/finos/apis/fdc3-application-directory.md) - [All operations](https://skmtc.dev/finos/apis/fdc3-application-directory/llms.txt) - [OpenAPI document](https://skmtc.dev/finos/apis/fdc3-application-directory/revisions/41be1131e894?raw)
