Manifest Schema Reference
Introduction
Each add-on bundle contains a manifest.json file at the root level which defines the metadata for your add-on and how it should behave. This guide outlines the latest manifest version available, which is version 2.
Sample manifest.json
{
"testId": "addon-sample",
"name": "Add-on Sample",
"version": "1.0.0",
"manifestVersion": 2,
"requirements": {
"apps": [
{
"name": "Express",
"apiVersion": 1
}
],
"supportsTouch": false,
},
"entryPoints": [
{
"type": "panel",
"id": "panel1",
"main": "index.html",
"documentSandbox": "code.js",
"permissions": {
"sandbox": ["allow-popups", "allow-presentation", "allow-downloads"],
"oauth": ["www.dropbox.com"]
}
}
]
}
Manifest Properties
Note: The ? denotes the key is optional.
testId?stringname?stringversionstringmanifestVersionnumberrequirements
experimentalApis?booleansupportsTouch?booleanfalse.renditionPreview?booleanExample:<br/>
"requirements": {
"apps": [
{
"name": "Express",
"apiVersion": 1,
"supportedDeviceClass": ["desktop"]
},
{…}],
"experimentalApis": true,
"supportsTouch": false,
"renditionPreview": true
}
requirements.apps
namestring"Express"apiVersionnumberstring []["desktop"].Example:<br/>
"apps": [
{
"name": "Express",
"apiVersion": 1,
"supportedDeviceClass": ["desktop"]
}
],
requirements.apps.supportedDeviceClass
The following platform value is currently supported in the supportedDeviceClass key.
desktopentryPoints
typestring"panel".idstringmainstringdocumentSandboxstringExample:<br/>
"entryPoints": [
{
"type": "panel",
"id": "panel1",
"main": "index.html",
"permissions": {
"sandbox": ["allow-popups", "allow-popups-to-escape-sandbox", "allow-presentation", "allow-downloads"],
"oauth": ["www.dropbox.com"]
}
}
]
entrypoints.permissions
oauth?string []clipboard?string []clipboard-write is supported and allows an add-on to write arbitrary data to the clipboard.microphone?string‘allow’ attribute. Enables the add-on to access the user's microphone for audio input.camera?string‘allow’ attribute. Enables the add-on to access the user's camera for video input.Example:<br/>
"permissions" : {
"sandbox": [" allow-popups ", "allow-downloads"],
"oauth" : ["...", "..."],
"clipboard": ["clipboard-write"],
"microphone": "*",
"camera" : "*"
}
entrypoints.permissions.sandbox
The following permission values are currently supported in the sandbox key.
allow-popupswindow.open(), target="_blank", or showModalDialog()). Note: If this permission is not set and you're using popups, the popup will silently fail to open.allow-popups-to-escape-sandboxallow-presentationallow-downloads<a> or area element with the download attribute, as well as through the navigation that leads to a download of a file.Example:<br/>
"permissions" : {
"sandbox": ["allow-popups ", "allow-downloads"],
}
data-slots=text
data-variant=warning
sandbox attribute of your manifest.json. This will allow the Adobe Express pricing page to properly load: "entryPoints": [
{
/*... other fields ...*/
"permissions": {
"sandbox": ["allow-popups-to-escape-sandbox", "allow-popups", "allow-downloads"]
}
}
]
Notes
-
Files within the add-on bundle can refer to each other via relative paths.
-
Changes to your add-on manifest currently require a reload, but you can simply use the Refresh button from the Add-on Development panel to force the add-on to reload and pick up your manifest changes.