# List browser add-ons Retrieves all registered add-ons, including extensions and plugins. ## Endpoints **GET** `/bsp/api/v1/bmp/addons` ## Request URL `https://`[*{serverurl}*](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)`/bsp/api/v1/bmp/addons` ## Scope `DesktopCentralCloud.BrowserManager.READ` ## Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers | Parameter | Type | Required | Value | |---|---|---|---| | Accept | string | Mandatory | `application/json` | ### Query Parameters | Parameter | Type | Required | Description | |---|---|---|---| | type | string | Optional | Optional. Filter by add-on type: 'plugins' or 'extensions' | | name | string | Optional | Optional. Search add-ons by name (case-insensitive partial match). Example: `?name=uBlock` | | browser_type | string | Optional | Optional. Filter by browser type ID (1=Chrome, 2=Firefox, 3=IE, 5=Edge, 31=Ulaa, 1024=Other Chromium). Accepts comma-separated values for multiple browsers | | limit | integer | Optional | Optional. Maximum number of add-ons to return per page. Used for pagination | | offset | integer | Optional | Optional. Number of add-ons to skip before starting to return results. Used for pagination | | skip-token | string | Optional | Optional. Token for pagination to retrieve the next set of results | | id | string | Optional | Optional. Search by add-on identifier (extension ID or plugin CLSID/GUID) | ## Sample Request ```curl curl --request GET \ --url https://appdomains/bsp/api/v1/bmp/addons \ --header 'Accept: application/json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 #### Response Body — application/json **JSON Object** - **paging** — JSON Object Pagination metadata containing navigation URLs for next and previous pages. - **addons** — JSON Array Addon records (extensions and/or plugins) for the current page. ### HTTP Code 401 #### Response Body — application/json **JSON Object** - **errorCode** — long Unauthorized error code: credentials missing, expired, or invalid - **errorMsg** — string Authentication failure reason ### HTTP Code 403 #### Response Body — application/json **JSON Object** - **errorCode** — long Error code indicating insufficient permissions - **errorMsg** — string Message indicating insufficient privileges to access this resource ### HTTP Code 429 #### Response Body — application/json **JSON Object** - **errorCode** — long Rate limit error code returned when the API call reached threshold - **errorMsg** — string Rate limit exceeded message with retry guidance ### HTTP Code 500 #### Response Body — application/json **JSON Object** - **error_description** — string Message describing the internal server error - **error_code** — string Error code identifying the type of server error ## Possible Response Codes - `200` — HTTP code - `401` — HTTP code - `403` — HTTP code - `429` — HTTP code - `500` — HTTP code ## Sample Response: HTTP 200 ### Paginated extension list ```json { "addons": [ { "browser_type": "1", "name": "uBlock Origin", "binary_id": "100", "id": "cjpalhdlnbpafiamejdnhcphjbkeiagm" }, { "browser_type": "5", "name": "MoveTab", "binary_id": "48", "id": "ebldafnijcbblaaabcehdamipojmicmg" }, { "browser_type": "1024", "name": "Dark Reader", "binary_id": "103", "id": "eimadpbcbfnmbkopoojfekhnkhdbieeh" } ], "paging": { "next": "/bsp/api/v1/bmp/addons?skip-token=NTA6LTQ4OjI6MTc3NTQ1NTc5NjY5Ng%3D%3D" } } ``` ### Paginated plugin list ```json { "addons": [ { "name": "Java Plugin", "binary_id": "104", "id": "{CAFEEFAC-0018-0000-FFFF-ABCDEFFEDCBA}", "type": 100 } ] } ``` ### Empty result ```json { "addons": [] } ``` ## Sample Response: HTTP 401 ### Unauthorized ```json { "errorCode": "UNAUTHORIZED", "errorMsg": "You are not authorized to perform this action" } ``` ## Sample Response: HTTP 403 ### Insufficient permissions ```json { "errorCode": "FORBIDDEN", "errorMsg": "You do not have permission to access this resource" } ``` ## Sample Response: HTTP 429 ### Rate limit exceeded ```json { "errorCode": "RATE_LIMIT_EXCEEDED", "errorMsg": "You have exceeded the maximum number of API calls. Please try again later." } ``` ## Sample Response: HTTP 500 ### Server error ```json { "error_description": "Internal Server error, Please try again in a moment.", "error_code": "COM0004" } ``` ## Rate Limit ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 120 | **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.