Skip to navigation

App manifest reference

View as Markdown

Each extension app is defined by a manifest file in JSON format. This section describes the root object of the manifest schema.

Note: The maximum size for the manifest file is 8 MB.

PropertyTypeRequired?Description
idstringSystem-generatedThe system-generated ID of the extension app. This property is read-only. Do not include it when uploading your initial manifest.
namestringYesThe name of your app. This value must be unique. Maximum length is 30 characters.
distributionstringYesDetermines whether your extension app will be private or public.
Valid values:
  • PUBLIC (default)
  • PRIVATE
Values are case-sensitive.

Once the app is published, you cannot modify this value. For more information, see Choosing private distribution instead of public.
descriptionobjectYesAn object providing a short and long description for your app.
description.shortstringYesA short description of your extension app. Maximum length is 100 characters.
description.longstringYesA long description of your extension app. Maximum length is 2,000 characters.
publicationRegionsarray of stringsNoThe regions in which the extension app will be available after it is published to the Docusign App Center. A production App Center user can install your extension app if their account is based in a Docusign data center that corresponds to one of the specified regions.
Valid values:
  • AU: Australia. Data center: AU.
  • CA: Canada. Data center: CA.
  • EU: European Union. Data center: EU.
  • JP: Japan. Data center: JP1.
  • US (default): United States. Data centers: NA1, NA2, NA3, NA4.
This example publicationRegions property would make your extension app available to users whose accounts are based in any of the data centers AU, CA, EU, JP1, NA1, NA2, NA3, or NA4:
"publicationRegions": ["AU","CA","EU","JP","US"] After an extension app has been published, you can add regions, but you cannot remove them. See Globalization for more information.
termsOfServiceUrlstringYesThe URL of your app’s terms of service.
privacyUrlstringYesThe URL of your app’s privacy policy.
supportUrlstringYesThe URL at which users can receive support for your app.
signupUrlstringNot when creating your app, but required to publish the appThe URL at which users of your app can create an account with the API service to which your app connects.
publisherobjectYesThe app publisher’s information. Within this object, you must provide publisher.name and at least one of the following properties:
  • publisher.email
  • publisher.phone
  • publisher.website
publisher.namestringYesThe name of the app publisher.
publisher.emailstringRequired if both phone and website are omittedThe email address of the app publisher.
publisher.phonestringRequired if both email and website are omittedThe phone number of the app publisher.
publisher.websitestringRequired if both email and phone are omittedThe URL of the app publisher’s website.
iconobjectNoAn object providing an icon for your app.
icon.database64Yes, when icon is includedThe Base64 representation of your app’s icon. The app icon must have a 1:1 aspect ratio and be a maximum size of 100x100 pixels. The maximum file size is 5MB.
icon.mediaTypestringYes, when icon is includedThe media type of the icon. Valid values:
  • image/jpeg
  • image/png
screenshotsArray of JSON objectsNoA list of screenshots representing your app. You can provide a maximum of four images. In the Developer Console and App Center, the screenshots will be displayed in the order listed in your manifest.
screenshots[].database64Yes, for each object in the screenshots arrayThe Base64 representation of a single screenshot. The screenshot must have a 16:10 aspect ratio. The minimum dimensions are 848x530 pixels, and the maximum dimensions are 1600x1000 pixels. The maximum file size is 5 MB.
screenshots[].mediaTypestringYes, for each object in the screenshots arrayThe media type of the screenshot. Valid values:
  • image/jpeg
  • image/png
connections[Connection object]YesA list of connections. Each app can have a maximum of one connection.
extensions[Extension object]NoA list of extensions.
actions[Action object]NoA list of actions and capabilities that the extension app implements. Actions and capabilities define the endpoints that invoke functionality provided by the external API service.
changelogstringYes, when updating a manifest to v1.1 or higher. Cannot be set when creating an app or updating a v1.0 draft.A brief summary of changes made to the app since it was last published. This value will be displayed in the Developer Console and App Center.
The maximum length is 191 characters.

A basic manifest looks like this.

{
"name": "Account beneficiary update",
"description": {
"short": "Writes beneficiary documents to cloud storage",
"long": "This app is designed to write completed account beneficiary documents to a cloud storage system."
},
"termsOfServiceUrl": "https://www.fontara.com/tos",
"privacyUrl": "https://www.fontara.com/privacy-security",
"supportUrl": "https://www.fontara.com/support",
"publisher": {
"name": "Fontara",
"email": "sample@fontara.com"
},
"connections": [
{
"name": "authentication",
"description": "Secure connection to sample extension app",
"type": "oauth2",
"params": {
"provider": "CUSTOM",
"clientId": "8d606a57-xxxx-xxxx-xxxx-219e80c7ed16",
"clientSecret": "lfvZIUH…leaGCreU=",
"scopes": [],
"grantType": "authorization_code",
"customConfig": {
"authorizationMethod": "header",
"authorizationParams": {
"prompt": "consent",
"access_type": "offline"
},
"authorizationUrl": "https://www.fontara.com/api/oauth/authorize",
"requiredScopes": [],
"scopeSeparator": " ",
"tokenUrl": "https://www.fontara.com/api/oauth/token",
"refreshScopes": []
}
}
}
],
"icon": {
"data": "iVBORw...SuQmCC",
"mediaType": "image/png"
},
"screenshots": [],
"extensions": [
{
"name": "My File Output Cloud Storage Extension",
"description": "Writes files to cloud storage",
"template": "FileIO.Version1.FileOutputCloudStorage",
"actionReferences": [
"list-directory-contents",
"list-drives",
"write-file"
],
"capabilities": [
"FileIO.Version1.ListDirectoryContents",
"FileIO.Version1.ListDrives"
]
}
],
"actions": [
{
"name": "list-directory-contents",
"description": "Returns a list of folders on a cloud storage system",
"template": "FileIO.Version1.ListDirectoryContents",
"connectionsReference": "authentication",
"params": {
"uri": "https://www.fontara.com/api/listdirectorycontents"
}
},
{
"name": "list-drives",
"description": "Returns a list of drives on a cloud storage system",
"template": "FileIO.Version1.ListDrives",
"connectionsReference": "authentication",
"params": {
"uri": "https://www.fontara.com/api/listdrives"
}
},
{
"name": "write-file",
"description": "Writes a file to a cloud storage system",
"template": "FileIO.Version1.WriteFile",
"connectionsReference": "authentication",
"params": {
"uri": "https://www.fontara.com/api/writefile"
}
}
],
"signupUrl": "https://www.fontara.com/signup",
"publicationRegions": [
"US"
],
"distribution": "PUBLIC"
}