# Add a new Web Clips payload configuration to an existing profile Create Android Webshortcuts payload ## Endpoints **POST** `/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy` ## Request URL ``` https://{serverurl}/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy ``` - `{serverurl}` – Refer to your OAuth authentication endpoint domain. ## Scope ``` MDMOnDemand.MDMDeviceMgmt.CREATE ``` ## Header ``` Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52 ``` ## Request Parameters ### Path Parameters - **profile_id** (string, Mandatory) Unique identifier of the profile. Obtain from the [Create Profile](https://www.manageengine.com/mobile-device-management/help/api/cloud/profiles-create-profile.html) or [Get Profiles](https://www.manageengine.com/mobile-device-management/help/api/cloud/profiles-get-profile.html) response. ### Query Parameters - **t** (long, Optional) - **ignoreHeader** (boolean, Optional) - **qlt** (long, Optional) - **previousTab** (string, Optional) - **service** (string, Optional) - **search** (string, Optional) Free-text search string applied to the default searchable fields of the resource. - **all** (boolean, Optional) - **dc_customerid** (long, Optional) - **mdm_instance** (string, Optional) - **signupsrc** (string, Optional) - **zaaid** (string, Optional) - **command** (string, Optional) - **orderby** (string, Optional) - **sortorder** (string, Optional) - **select_all** (boolean, Optional) When true, applies the operation to every record matching the current filter rather than to specific IDs. Default: false - **zoho-internal** (boolean, Optional) - **dc_instance** (string, Optional) - **SUBREQUEST** (string, Optional) - **source** (string, Optional) - **nocache** (long, Optional) Param to avoid being served from cache. - **wms_csrparam** (string, Optional) CSRF Token ### Request Body (application/json) **JSON object** #### Attributes - **webclip_label** (string, Mandatory) Display label for the web shortcut on the device home screen (required) - **webclip_name** (string, Mandatory) Internal name identifier for the web shortcut (required) - **webclip_url** (string, Mandatory) Target URL that the web shortcut opens (required) - **is_removal** (boolean, Optional) Whether the user can remove the web shortcut. Default: true - **webclips_file_upload** (string, Optional) Uploaded icon image file for the web shortcut - **icon_file_name** (string, Optional) File name of the web shortcut icon - **use_precomp_icon** (boolean, Optional) Whether to use the precomposed icon (no visual effects). Default: false - **allow_full_screen** (boolean, Optional) Whether the web shortcut opens in full screen mode. Default: false - **refresh_mode** (integer, Optional) Page refresh behavior. 0 = No Refresh. Default: 0 - **allow_webview_clear_cookies** (integer, Optional) Whether clearing cookies is allowed in the web view. 0 = Not Allowed. Default: 0 - **open_web_shortcut_in** (integer, Optional) Where to open the web shortcut. 1 = In-app WebView. Default: 1 - **open_webclip_with_package_name** (array, Optional) List of app package names that can open this web shortcut - **screen_orientation_option** (integer, Optional) Screen orientation. 5 = Unspecified. Default: 5 - **allow_clear_cache** (integer, Optional) Whether clearing cache is allowed. 0 = Not Allowed. Default: 0 - **allow_copy_paste** (boolean, Optional) Whether copy-paste is allowed in the web view. Default: true - **allow_fullscreen_in_web_view** (boolean, Optional) Whether fullscreen mode is allowed in the web view. Default: false - **enable_desktop_site** (integer, Optional) Desktop site mode. 3 = Auto-detect. Default: 3 - **webclip_policy_id** (long, Optional) ID of the web clips policy configuration - **allow_site_permission** (boolean, Optional) Whether site permissions (camera, mic, location) are allowed. Default: false ## Sample Request ### Curl ```bash curl --request POST \ --url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \ --header 'content-type: application/json' \ --data '{"webclip_url":"https://zylker.com","webclip_label":"value","webclip_name":"Zylker User"}' ``` ### Java ```java import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.io.IOException; import java.net.http.HttpTimeoutException; public class Main { public static void main(String[] args) { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy")) .header("content-type", "application/json") .header("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") .method("POST", HttpRequest.BodyPublishers.ofString("{\"webclip_url\":\"https://zylker.com\",\"webclip_label\":\"value\",\"webclip_name\":\"Zylker User\"}")) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } ``` ### Python ```python import http.client conn = http.client.HTTPSConnection("appdomain") payload = "{\"webclip_url\":\"https://zylker.com\",\"webclip_label\":\"value\",\"webclip_name\":\"Zylker User\"}" headers = { 'content-type': "application/json", 'Authorization': "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52" } conn.request("POST", "/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ### Deluge ```javascript headersMap = Map(); headersMap.put("Content-Type", "application/json"); headersMap.put("Accept", "application/json"); data=Map(); data.put("webclip_url","value"); data.put("webclip_label","value"); data.put("webclip_name","value"); response = invokeUrl [ url: "https://appDomain/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy" type: POST headers: headersMap body: data connection: connection_name ] info response; ``` ### PowerShell ```powershell $headers=@{} $headers.Add("content-type", "application/json") $headers.Add("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") $response = Invoke-WebRequest -Uri 'https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidwebclipspolicy' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"webclip_url":"https://zylker.com","webclip_label":"value","webclip_name":"Zylker User"}' ``` ## Sample Request Body Add Web Clips payload to the profile ```json { "webclip_url": "https://zylker.com", "is_removal": true, "webclip_label": "value", "webclips_file_upload": "value", "allow_webview_clear_cookies": 0, "webclip_name": "Zylker User", "refresh_mode": 0, "use_precomp_icon": false, "icon_file_name": "value", "allow_full_screen": false } ``` ## Response Parameters ### HTTP 200 **Response Body – application/json** **JSON object** #### Attributes - **payload_id** (long) Unique identifier for the created payload item - **webclip_label** (string) Display label for the web shortcut on the device home screen (required) - **webclip_name** (string) Internal name identifier for the web shortcut (required) - **webclip_url** (string) Target URL that the web shortcut opens (required) - **is_removal** (boolean) Whether the user can remove the web shortcut. Default: true - **webclips_file_upload** (string) Uploaded icon image file for the web shortcut - **icon_file_name** (string) File name of the web shortcut icon - **use_precomp_icon** (boolean) Whether to use the precomposed icon (no visual effects). Default: false - **allow_full_screen** (boolean) Whether the web shortcut opens in full screen mode. Default: false - **refresh_mode** (integer) Page refresh behavior. 0 = No Refresh. Default: 0 - **allow_webview_clear_cookies** (integer) Whether clearing cookies is allowed in the web view. 0 = Not Allowed. Default: 0 - **open_web_shortcut_in** (integer) Where to open the web shortcut. 1 = In-app WebView. Default: 1 - **open_webclip_with_package_name** (array) List of app package names that can open this web shortcut - **screen_orientation_option** (integer) Screen orientation. 5 = Unspecified. Default: 5 - **allow_clear_cache** (integer) Whether clearing cache is allowed. 0 = Not Allowed. Default: 0 - **allow_copy_paste** (boolean) Whether copy-paste is allowed in the web view. Default: true - **allow_fullscreen_in_web_view** (boolean) Whether fullscreen mode is allowed in the web view. Default: false - **enable_desktop_site** (integer) Desktop site mode. 3 = Auto-detect. Default: 3 - **webclip_policy_id** (long) ID of the web clips policy configuration - **allow_site_permission** (boolean) Whether site permissions (camera, mic, location) are allowed. Default: false ## Sample Response: HTTP 200 Web Clips payload successfully added ```json { "webclip_url": "https://zylker.com", "payload_id": 9007199254741000, "is_removal": true, "webclip_label": "value", "webclips_file_upload": "value", "allow_webview_clear_cookies": 0, "webclip_name": "Zylker User", "refresh_mode": 0, "use_precomp_icon": false, "icon_file_name": "value", "allow_full_screen": false } ``` ## API Rate Limit - **Duration:** 1 minute - **Threshold:** 30 - **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.