Create a new add-on management profile

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Creates a new add-on management profile (Chrome, Firefox, Edge, IE, Ulaa, or other Chromium) with optional browser-specific payload configurations.

Request URL

https://{server-hostname}:8383/bsp/api/v1/bmp/manage_addons

Scope

BrowserManager.CREATECopied!

Header

Authorization: d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

Content-TypestringMandatory
application/jsonapplication/jsonCopied!
AcceptstringMandatory
application/jsonapplication/jsonCopied!

- Request Body

JSON body with profile metadata including name, description, payload configurations, and platform type

application/json
JSON Object
Hide Sub-Attributes
manage_addOn_namestringOptional

Profile name (max 500 characters)

manage_addon_descriptionstringOptional

Profile description (optional, max 500 characters)

addon_payloadsJSON ObjectOptional

Browser-specific add-on policy configuration. Schema branches by browser_type see addonPayloadChromeBody / addonPayloadFirefoxBody / addonPayloadEdgeBody / addonPayloadUlaaBody / addonPayloadChromiumBody / addonPayloadIEBody

Show Sub-Attributes
payload_typestringOptional

Payload type. Fixed value: 64125 (Chrome)

browser_typestringOptional

Browser type. Fixed value: 1 (Chrome)

restrict_addonsstringOptional

Whether to restrict user-installed add-ons. '0'=allow, '1'=restrict

add_onsJSON ArrayOptional

Allowed or managed add-ons by binary_id

Show Sub-Attributes
JSON Object

Managed add-on entry referenced by binary_id

Show Sub-Attributes
binary_idstringOptional

Unique add-on/extension identifier from the browser store

install_typestringOptional

Installation type for the add-on (e.g. allow, force-install, block)

restrict_domainsstringOptional

Domain restriction policy. -1 = no restriction

policiesJSON ObjectOptional

Browser-specific Chrome add-on policies (e.g. disable_user_extensions)

Show Sub-Attributes
disable_user_extensionsbooleanOptional

Block users from installing extensions outside the managed list

disable_developer_modebooleanOptional

Disable developer mode in the extensions page

restrict_permissionsstringOptional

Whether to restrict by permission. 1=restrict, -1=do not restrict

permissionsarrayOptional

Permission IDs allowed

native_hostsJSON ObjectOptional

Native messaging host configuration (Chrome supports native messaging)

Show Sub-Attributes
allowed_hostsarrayOptional

Native host names allowed to communicate with the browser

blocked_hostsarrayOptional

Native host names blocked from the browser

pinned_addonsarrayOptional

Binary IDs to pin to the toolbar

install_addonsarrayOptional

Binary IDs to force-install. Default: []

runtime_addonsJSON ArrayOptional

Per-site runtime allow rules. Default: []

Show Sub-Attributes
JSON Object

Per-site runtime allow rule for add-ons

Show Sub-Attributes
site_allowstringOptional

Always 1 (allow)

binary_idsarrayOptional

Add-on binary_id strings

site_groupsarrayOptional

Webdomain group IDs from List WebDomain Groups response. [] = all sites

platform_typestringOptional

Platform type. 1=Windows, 2=Mac, -1=All platforms

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
  --url https://appdomain/bsp/api/v1/bmp/manage_addons \
  --header 'Accept: application/json' \
  --header 'Authorization:  d92d4xxxxxxxxxxxxx15f52' \
  --header 'Content-Type: application/json' \
  --data '{"platform_type":"-1","manage_addon_description":"","manage_addOn_name":"AddonPolicy 8","addon_payloads":{"manage_chrome_addons":{"restrict_permissions":1,"restrict_domains":-1,"pinned_addons":["30"],"permissions":["10"],"browser_type":1,"policies":{"disable_user_extensions":"-1"},"add_ons":[{"binary_id":"30"}],"restrict_addons":"1","native_hosts":{"native_permission":"-1","native_ids":[]}}}}'

Sample Request Body

Create profile with a Chrome payload

Copied!
  {
    "platform_type": "-1",
    "manage_addon_description": "",
    "manage_addOn_name": "AddonPolicy 8",
    "addon_payloads": {
      "manage_chrome_addons": {
        "restrict_permissions": 1,
        "restrict_domains": -1,
        "pinned_addons": [
          "30"
        ],
        "permissions": [
          "10"
        ],
        "browser_type": 1,
        "policies": {
          "disable_user_extensions": "-1"
        },
        "add_ons": [
          {
            "binary_id": "30"
          }
        ],
        "restrict_addons": "1",
        "native_hosts": {
          "native_permission": "-1",
          "native_ids": []
        }
      }
    }
  }
                
Show full

Create empty profile (add payloads later)

Copied!
  {
    "platform_type": "1",
    "manage_addon_description": "Standard add-on management policy",
    "manage_addOn_name": "Corporate Add-On Policy",
    "addon_payloads": {}
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object
Hide Sub-Attributes
collection_idstring

Collection reference ID for the profile

profile_typestring

Profile type identifier

platform_typestring

Platform type. 1=Windows, 2=Mac, -1=All platforms

latest_versionstring

Latest version number of the profile

is_moved_to_trashboolean

Whether the profile is in the trash

manage_addon_namestring

Profile display name

scopestring

Profile scope. 0=device, 1=user

latest_published_versionstring

Latest published version, or '--' if not yet published

manage_addon_descriptionstring

Profile description

manage_addon_idstring

Unique profile identifier

addon_payloadsJSON Array

Payload configurations associated with this profile

Show Sub-Attributes
JSON Object
Show Sub-Attributes
restrict_permissionsstring

Permission restriction mode. 1=restrict, -1=not restricted. Not present for Firefox payloads

config_namestring

Internal configuration label for the payload type (e.g., MANAGE_CHROME_ADDONS). Returned by Create, Clone, and Get Profile endpoints

config_labelstring

Internal configuration label for the payload type (e.g., MANAGE_CHROME_ADDONS). Returned by Add Payload and Modify Payload endpoints instead of config_name

payload_typestring

Payload type ID. 64125=Chrome, 64127=Firefox, 64907=Edge, 64459=Ulaa, 64409=Chromium, 64126=IE

restrict_domainsstring

Domain restriction mode. 1=restrict, -1=not restricted

binaries_detailsJSON Array

Restricted/allowed add-on binaries

Show Sub-Attributes
JSON Object
Show Sub-Attributes
browser_typestring

Browser type code

namestring

Add-on display name

binary_idstring

Unique binary identifier

idstring

Extension/add-on identifier (webstore ID, Mozilla ID, or CLSID)

typestring

IE add-on type category. Present only for IE binaries

payload_idstring

Unique payload identifier

pinned_binaries_detailsJSON Array

Force-installed extension binaries

Show Sub-Attributes
JSON Object
Show Sub-Attributes
browser_typestring

Browser type code

namestring

Add-on display name

binary_idstring

Unique binary identifier

idstring

Extension/add-on identifier (webstore ID, Mozilla ID, or CLSID)

typestring

IE add-on type category. Present only for IE binaries

browser_typestring

Browser type. 1=Chrome, 2=Firefox, 3=IE, 5=Edge, 31=Ulaa, 1024=Chromium

policiesJSON Object

Browser-specific add-on policy settings

Show Sub-Attributes
disable_user_extensionsstring

Disable user-installed extensions. 1=disabled, -1=not set

allow_flashstring

Allow Flash. 1=allowed, -1=not set

turn_off_blocking_outdated_addonstring

IE: Disable blocking of outdated add-ons. 1=off, 0=on

enable_extensionstring

IE: Enable browser extensions. 1=enabled, 0=disabled

restrict_activexstring

IE: Restrict ActiveX controls. 1=restricted, 0=not restricted

remove_run_this_timestring

IE: Remove 'Run this time' button. 1=remove, 0=keep

restrict_addonsstring

Add-on restriction mode. 1=restrict, -1=not restricted

permissionsJSON Array

Restricted permissions list. Only present when restrict_permissions is enabled and permission IDs are configured

Show Sub-Attributes
JSON Object
Show Sub-Attributes
namestring

Permission display name

idstring

Permission identifier

applicable_browsersarray

Applicable browser identifiers. Present only for Chromium (browser_type=1024) payloads

native_hostsJSON Object

Native messaging host configuration. Not present for Firefox payloads

Show Sub-Attributes
native_permissionstring

Native host permission mode. 1=restrict, -1=not restricted

native_detailsarray

Native messaging host details

- HTTP code 400

Response Body - application/json
JSON Object
Hide Sub-Attributes
errormsgstring

Message describing why the request is invalid

- HTTP code 401

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required)

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Forbidden error code returned when the authenticated user does not have the required uem-roles (e.g., DataEncryption_Admin or DataEncryptionRecoveryKey_Admin)

errorMsgstring

Message indicating insufficient privileges to access this resource

- HTTP code 429

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Rate limit error code returned when the API call threshold (configured via threshold/duration in security XML) is exceeded; client is locked out for lock-period minutes

errorMsgstring

Rate limit exceeded message with retry guidance

- HTTP code 500

Response Body - application/json
JSON Object
Hide Sub-Attributes
errormsgstring

Message describing the internal server error

Possible Response Codes

200HTTP code
400HTTP code
401HTTP code
403HTTP code
429HTTP code
500HTTP code

Sample Response: HTTP 200

Created profile in Draft status

Copied!
  {
    "collection_id": "222",
    "profile_type": "64025",
    "platform_type": "1",
    "latest_version": "1",
    "is_moved_to_trash": false,
    "manage_addon_name": "TestAddon_CreateEmpty",
    "scope": "0",
    "latest_published_version": "--",
    "manage_addon_description": "Test empty profile",
    "manage_addon_id": "993",
    "addon_payloads": []
  }
                
Show full

Sample Response: HTTP 400

Invalid request

Copied!
  {
    "errormsg": "Invalid request"
  }
                
Show full

Sample Response: HTTP 401

Unauthorized

Copied!
  {
    "errorCode": "UNAUTHORIZED",
    "errorMsg": "You are not authorized to perform this action"
  }
                
Show full

Sample Response: HTTP 403

Insufficient permissions

Copied!
  {
    "errorCode": "FORBIDDEN",
    "errorMsg": "User does not have permission to perform this operation"
  }
                
Show full

Sample Response: HTTP 429

Rate limit exceeded

Copied!
  {
    "errorCode": "RATE_LIMIT_EXCEEDED",
    "errorMsg": "Too many requests. Please try again after 5 minutes"
  }
                
Show full

Sample Response: HTTP 500

Server error

Copied!
  {
    "errormsg": "Internal Server error, Please try again in a moment."
  }
                
Show full

Duration: 1 minute | Threshold: 60 | Lock period: 5 minutes

Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.