Performs partial update, if a field is specified in the request it will be updated
Will upload the code file and publish the plugin if code is sent,
and subscribe to all requested notifications and interceptions to the endpoint.
displayName and version must be sent even if they were not changed.
Existing environment variables that arent sent will be removed.
Existing subscriptions that are not sent will be unsubscribed from.
If this API fails, it will roll back the changes it made.
This is a "multipart/form-data" request that includes both the binary zip file and configuration
The form should include 2 parameters:
- "code": Non-mandatory binary zip file.
- "configuration": Mandatory JSON configuration of the plugin as follows:
The below table describes the request parameters:
|name||String||true||The name of the plugin with the prefix "Plugin-" included|
|displayName||String||true||The display name of the plugin. It will be added to environment variables with a reserved key|
|version||String||true||The plugin version number, Must be between 1 and 32767|
|environmentVariables||JSON||false||A map that contains environment variables as key value pairs, keys starting with BIOT_ are reserved for system use|
|subscriptions.interceptionOrder||String||true||The order of which this plugin will be executed if more than one interceptor exist for the API. This parameter applies for all interceptors sent in the request. Must be positive|
|subscriptions.interceptions||JSON||false||A list of interceptors APIs that this plugin will handle|
|subscriptions.interceptions.type||String||true||The interception's type, must be sent for every interception|
|subscriptions.interceptions.apiId||String||false||The ID of the API that you want to subscribe to, This only applies to PRE_REQUEST & POST_REQUEST types|
|subscriptions.interceptions.entityTypeName||String||false||The entity name that you want to modify. Provided only if type=ADAPT_ENTITY|
|subscriptions.interceptions.order||String||false||If sent, this will override the interceptionOrder parameter for a specific interception. Must be positive|
|subscriptions.notifications||JSON||false||A list of notifications APIs that this plugin will handle|
|subscriptions.notifications.entityTypeName||String||true||The entity type that you would like to be notified about|
|subscriptions.notifications.actionName||String||true||The action performed on the entity that you would like to be notified about|
This API requires SETTINGS_PLUGIN_UPDATE permission(s).