Re-authenticate and upload an extension overriding conflicts

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

Re-authenticates the user and uploads an extension, overriding any existing conflict. Requires user password for verification.

Request URL

https://{serverurl}/bsp/api/v1/bmp/extensions/override

Scope

DesktopCentralCloud.BrowserManager.CREATECopied!

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

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

- Query Parameters

zapikeystring

- Request Body

application/json
JSON object

Request body for re-authenticating and uploading an extension with conflict override

Hide Sub-Attributes
userPasswordstringOptional

User password for re-authentication verification

app_idstringOptional

Webstore application identifier

typestringOptional

Extension source type

browser_typestringOptional

Values 1=Chrome, 2=Firefox, 3=IE, 5=Edge, 31=Ulaa, 1024=Chromium

xpi_urlstringOptional

URL to Firefox XPI package

file_idintegerOptional

File identifier for inhouse extension packages

platform_typestringOptional

Platform type filter

allowed_permissionsarrayOptional

List of permission names to allow

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
  --url https://appdomain/bsp/api/v1/bmp/extensions/override \
  --header 'Accept: application/json' \
  --header 'Authorization: Zoho-oauthtoken  d92d4xxxxxxxxxxxxx15f52' \
  --header 'Content-Type: application/json' \
  --data '{}'
Show full

Sample Request Body

Override Chrome extension

Copied!
  {
    "userPassword": "********",
    "platform_type": -1,
    "browser_type": 1,
    "file_id": 0,
    "type": "web_store",
    "app_id": "abcdefghijklmnop",
    "allowed_permissions": [
      "tabs",
      "storage"
    ],
    "xpi_url": ""
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json

JSON object

Extension profile response after override

Hide Sub-Attributes
extension_idinteger

Unique identifier of the extension profile

extension_namestring

Display name of the extension

extension_descriptionstring

Description of the extension

platform_typestring

Platform type

latest_versionstring

Latest version number

latest_published_versionstring

Latest published version number

extension_payloadsJSON array

Extension payload configurations

Show Sub-Attributes
JSON object

Individual extension payload configuration

Show Sub-Attributes
payload_typestring

Payload type identifier. 64120 for extensions

extension_payload_idstring

Unique identifier of the extension payload

extension_detailsJSON object

Extension metadata

Show Sub-Attributes
installsourcestring

Numeric install source code. 1=webstore, 2=sideloaded, 3=inhouse

browser_typestring

Browser type. 1=Chrome, 2=Firefox, 5=Edge

img_filestring

Extension icon/logo filename

descriptionstring

Extension description

extn_typestring

Extension source type: web_store or inhouse

shortnamestring

Short identifier name

versionstring

Extension version string

extensionnamestring

Extension name from the manifest

homepageurlstring

Extension homepage URL

crx_pathstring

Path to the CRX/XPI extension package

permissionsarray

Permission names

updateurlstring

Extension update check URL

idstring

Webstore or internal extension ID

extension_logo_idstring

Logo asset identifier

allowed_permissionsarray

Allowed permission names

binary_idstring

Binary record identifier

updateboolean

True when the extension was updated by overriding

- HTTP code 400

Response Body - application/json

JSON object

Bad request error when re-authentication fails

Hide Sub-Attributes
error_descriptionstring

Error message indicating invalid username or password

- HTTP code 401

Response Body - application/json

JSON object
Hide Sub-Attributes
errorCodelong

Unauthorized error code: credentials missing, expired, or invalid

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json

JSON object
Hide Sub-Attributes
errorCodelong

Error code indicating insufficient permissions

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 reached threshold

errorMsgstring

Rate limit exceeded message with retry guidance

- HTTP code 500

Response Body - application/json

JSON object

Internal server error during extension operations

Hide Sub-Attributes
error_descriptionstring

Error message describing the server failure

error_codestring

Error code for internal server errors

Possible HTTP Status Codes

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

Sample Response: HTTP 200

Extension overridden

Copied!
  {
    "extension_id": 100,
    "platform_type": 1,
    "latest_version": 2,
    "extension_name": "My Extension",
    "latest_published_version": 1,
    "update": true,
    "extension_description": "Extension description",
    "extension_payloads": [
      {
        "payload_type": "64120",
        "extension_payload_id": 101,
        "extension_details": {
          "installsource": "1",
          "browser_type": "1",
          "img_file": "icon16.png",
          "description": "Extension description",
          "extn_type": "web_store",
          "shortname": "My Extension",
          "version": "2.0.0",
          "extensionname": "My Extension",
          "homepageurl": "https://example.com",
          "crx_path": "..\\webapps\\DesktopCentral\\bsp\\client-data\\1\\ManagedExtensions\\3",
          "permissions": [
            "Tabs",
            "Storage"
          ],
          "updateurl": "https://clients2.google.com/service/update2/crx",
          "id": "abcdefghijklmnop",
          "extension_logo_id": "601",
          "allowed_permissions": [
            "tabs",
            "storage"
          ]
        },
        "binary_id": "601"
      }
    ]
  }
                
Show full

Sample Response: HTTP 400

Invalid credentials

Copied!
  {
    "error_description": "desktopcentral.common.login.invalid_username_password"
  }
                
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

Forbidden

Copied!
  {
    "errorCode": "FORBIDDEN",
    "errorMsg": "You do not have permission to access this resource"
  }
                
Show full

Sample Response: HTTP 429

Rate limit exceeded

Copied!
  {
    "errorCode": "RATE_LIMIT_EXCEEDED",
    "errorMsg": "You have exceeded the maximum number of API calls. Please try again later."
  }
                
Show full

Sample Response: HTTP 500

Server error

Copied!
  {
    "error_description": "Internal Server error, Please try again in a moment.",
    "error_code": "COM0004"
  }
                
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.