---
title: "Create a new application definition"
method: POST
path: "/v1/apps"
tags: ["Application"]
deprecated: true
---

# Create a new application definition

`POST /v1/apps`

## Request

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

> **Deprecated.**

## Request body

- ApplicationV1: (Deprecated v1 API version) Defines an application retrieved from an FDC3 App Directory, which can then be launched. Launching typically means running for a user on a desktop. The details around 'launching' including who or what might do it, and how the launch action is initiated are discussed elsewhere in the FDC3 App Directory spec.
  - `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.
  - `manifest` string, required: URI or full JSON of the application manifest providing all details related to launch and use requirements as described by the vendor. The format of this manifest is vendor specific, but can be identified by the manifestType attribute.
  - `manifestType` string, required: The manifest type which relates to the format and structure of the manifest content. The definition is based on the vendor specific format and definition outside of this specification.
  - `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
  - `description` string: Description of the application. This will typically be a 1-2 paragraph style blurb about the application. Allow mark up language
  - `images` AppImageV1[]: Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip
    - `url` string, uri: App Image URL
  - `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
  - `publisher` string: The name of the company that owns the application. The publisher has control over their namespace/app/signature.
  - `icons` IconV1[]: Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon
    - `icon` string, uri: Icon URL
  - `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
  - `intents` IntentV1[]: The list of intents implemented by the application as defined by https://github.com/FDC3/Intents/blob/main/src/Intent.yaml
    - `name` string, required: The name of the intent to 'launch'. In this case the name of an Intent supported by an application.
    - `displayName` string: An optional display name for the intent that may be used in UI instead of the name.
    - `contexts` string[]: A comma separated list of the types of contexts the intent offered by the application can process. where the first part of the context type is the namespace e.g."fdc3.contact, org.symphony.contact"
    - `customConfig` object: Custom configuration for the intent that may be required for a particular desktop agent.

## Response `200`

OK

- ApplicationSearchResponseV1
  - `applications` ApplicationV1[]: 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.
    - `manifest` string, required: URI or full JSON of the application manifest providing all details related to launch and use requirements as described by the vendor. The format of this manifest is vendor specific, but can be identified by the manifestType attribute.
    - `manifestType` string, required: The manifest type which relates to the format and structure of the manifest content. The definition is based on the vendor specific format and definition outside of this specification.
    - `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
    - `description` string: Description of the application. This will typically be a 1-2 paragraph style blurb about the application. Allow mark up language
    - `images` AppImageV1[]: Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip
      - `url` string, uri: App Image URL
    - `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
    - `publisher` string: The name of the company that owns the application. The publisher has control over their namespace/app/signature.
    - `icons` IconV1[]: Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon
      - `icon` string, uri: Icon URL
    - `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
    - `intents` IntentV1[]: The list of intents implemented by the application as defined by https://github.com/FDC3/Intents/blob/main/src/Intent.yaml
      - `name` string, required: The name of the intent to 'launch'. In this case the name of an Intent supported by an application.
      - `displayName` string: An optional display name for the intent that may be used in UI instead of the name.
      - `contexts` string[]: A comma separated list of the types of contexts the intent offered by the application can process. where the first part of the context type is the namespace e.g."fdc3.contact, org.symphony.contact"
      - `customConfig` object: Custom configuration for the intent that may be required for a particular desktop agent.
  - `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)
