Skip to navigation

Connection schema

View as Markdown

The connection object provides information that allows your app to obtain authorization from your chosen external service.

PropertyTypeRequired?Description
namestringYesThe name of the connection. This value must be unique.
idstringSystem-generatedThe system-generated ID of the connection. This property is read-only. Do not include it when uploading your initial manifest.
descriptionstringYesThe description of the connection.
typestringYesConnection type. Valid values:
  • oauth2
paramsConnection parameters objectYesAn object containing the parameters required to access an external platform API.

Connection: Parameters schema

PropertyTypeRequired?Description
providerstringYesValid values:
  • CUSTOM
scopesstring[]YesThe scopes to request.
clientIdstringYesThe client ID provided by the external platform. Maximum length: 191 characters
clientSecretstringYesThe client secret provided by the external platform. Maximum length: 191 characters
grantTypestringNoThe type of authorization that the extension app uses to obtain permission to send requests to the external API service.
Valid values:
  • authorization_code (default): Authorization Code Grant
  • client_credentials: Client Credentials Grant
Client Credentials Grant is supported only for private extension apps and only for clients in the US.
customConfigCustom configuration objectYesAn object to store custom configuration information.

Connection: Custom configuration schema

PropertyTypeRequired?Description
authorizationUrlstringYes, if the authorization method is Authorization Code Grant. Not used for Client Credentials Grant.The OAuth2 authorization endpoint. The URL’s top-level domain must be one of the following:
  • .com
  • .net
  • .org
  • .app
  • .cloud
Do not include docusign. in the domain.
tokenUrlstringYesOAuth2 token endpoint.
authorizationParamsobjectNoAn object to store any query parameters required for the authorization URL.
authorizationMethodstringNoValid values:
  • header (default)
  • body
scopeSeparatorstringNoThe delimiter used to separate the scopes. The default value is a comma.

A connection object looks like this:

{
"name": "authentication",
"description": "secure connection to proxy",
"type": "oauth2",
"params": {
"provider": "CUSTOM",
"scopes": [],
"clientId": "230546a7-xxxx-xxxx-xxxx-af205d5494ad",
"clientSecret": "119376b2-xxxx-xxxx-xxxx-aa951d7878eb",
"grantType": "authorization_code",
"customConfig": {
"authorizationUrl": "https://example.com/auth",
"tokenUrl": "https://example.com/token",
"authorizationParams": {
"access_type": "offline",
"prompt": "consent"
}
}
}
}