Application Directory specification (1.0)

Download OpenAPI specification:Download

Application Directory specification providing both interface definition and objects necessary to construct an application directory service.

Authentication

bearerAuth

Security scheme type: HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Application

Retrieve an application defintion

Authorizations:
path Parameters
appId
required
string

Responses

200

OK

400

Bad request.

403

Forbidden: Certificate authentication is not allowed for the requested user.

500

Server error, see response body for further details.

get /v1/apps/{appId}
/appd/v1/apps/{appId}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "appId": "string",
  • "name": "string",
  • "manifest": "string",
  • "manifestType": "string",
  • "version": "string",
  • "title": "string",
  • "tooltip": "string",
  • "description": "string",
  • "images":
    [
    ],
  • "contactEmail": "string",
  • "supportEmail": "string",
  • "publisher": "string",
  • "icons":
    [
    ],
  • "customConfig":
    [
    ],
  • "intents":
    [
    ]
}

Create a new application definition

Authorizations:
Request Body schema: application/json
appId
required
string

The unique application identifier located within a specific application directory instance.

name
required
string

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
required
string

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
required
string

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
Array of object (AppImage)

Array of images to show the user when they are looking at app description. Each image can have an optional description/tooltip

contactEmail
string

Optional e-mail to receive queries about the application

supportEmail
string

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
Array of object (Icon)

Holds Icons used for the application, a Launcher may be able to use multiple Icon sizes or there may be a 'button' Icon

customConfig
Array of object (NameValuePair)

An optional set of name value pairs that can be used to deliver custom data from an App Directory to a launcher.

intents
Array of object (Intent)

The list of intents implemented by the Application as defined by https://github.com/FDC3/Intents/blob/main/src/Intent.yaml

Responses

200

OK

400

Bad request.

403

Forbidden: Certificate authentication is not allowed for the requested user.

500

Server error, see response body for further details.

post /v1/apps
/appd/v1/apps

Request samples

application/json
Copy
Expand all Collapse all
{
  • "appId": "string",
  • "name": "string",
  • "manifest": "string",
  • "manifestType": "string",
  • "version": "string",
  • "title": "string",
  • "tooltip": "string",
  • "description": "string",
  • "images":
    [
    ],
  • "contactEmail": "string",
  • "supportEmail": "string",
  • "publisher": "string",
  • "icons":
    [
    ],
  • "customConfig":
    [
    ],
  • "intents":
    [
    ]
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "applications":
    [
    ],
  • "message": "string"
}

Retrieve a list of applications

Authorizations:

Responses

200

OK

400

Bad request.

403

Forbidden: Certificate authentication is not allowed for the requested user.

500

Server error, see response body for further details.

get /v1/apps/search
/appd/v1/apps/search

Response samples

application/json
Copy
Expand all Collapse all
{
  • "applications":
    [
    ],
  • "message": "string"
}