# Add a new Passcode payload configuration to an existing profile To create Passcode policy ## Endpoint `POST /api/v1/mdm/profiles/{profile_id}/payloads/passcodepolicy` ## Request URL `https://{server-hostname}:8383/api/v1/mdm/profiles/{profile_id}/payloads/passcodepolicy` ## Scope `MDMDeviceMgmt.CREATE` ## Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Content-Type** (`string`, Mandatory): `application/json` - **Accept** (`string`, Mandatory): `application/json` ### Path Parameters - **profile_id** (`string`, Mandatory): Unique identifier of the profile. Obtain from the [Create Profile](https://www.manageengine.com/products/desktop-central/help/api/onpremise/mdm-profiles-create-profile.html) or [Get Profiles](https://www.manageengine.com/products/desktop-central/help/api/onpremise/mdm-profiles-get-profile.html) response. ### Request Body `application/json` - **max_passcode_age** (`integer`, Optional): Maximum Passcode Age in days. Allowed values: 1-170 - **require_alphanumeric** (`boolean`, Optional): Mandates the use of alphanumeric values as passcode - **max_failed_attempts** (`integer`, Optional): Maximum number of failed attempts before factory reset. Allowed values: 3-9 - **min_passcode_length** (`integer`, Optional): Minimum passcode length. Allowed values: 1-16 - **min_complex_chars** (`integer`, Optional): Minimum number of special characters in the passcode. Allowed values: 1-4 - **no_of_passcode_maintained** (`integer`, Optional): Number of passcodes maintained in history. Allowed values: 1-50 - **allow_simple_value** (`boolean`, Optional): Allow numerical values to be configured as passcode - **auto_lock_idle_for** (`integer`, Optional): Maximum idle time (minutes) before auto-lock. Allowed values: 1, 2, 3, 4, 5, 10, 15 - **max_grace_period** (`integer`, Optional): Maximum time (minutes) to unlock device without passcode prompt. Allowed values: 0-240 ### Sample Request ```curl curl --request POST \ --url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/passcodepolicy \ --header 'Accept: application/json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/json' \ --data '{"max_passcode_age":150,"min_passcode_length":5,"require_alphanumeric":true,"min_complex_chars":2,"no_of_passcode_maintained":50,"allow_simple_value":false,"auto_lock_idle_for":3,"max_grace_period":0,"max_failed_attempts":9}' ``` ### Sample Request Body Add an iOS passcode policy payload to the profile. ```json { "max_passcode_age": 150, "min_passcode_length": 5, "require_alphanumeric": true, "min_complex_chars": 2, "no_of_passcode_maintained": 50, "allow_simple_value": false, "auto_lock_idle_for": 3, "max_grace_period": 0, "max_failed_attempts": 9 } ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` - **payload_id** (`long`): Unique identifier for the created payload item - **max_passcode_age** (`integer`): Maximum Passcode Age in days - **require_alphanumeric** (`boolean`): Whether alphanumeric passcode is required - **max_failed_attempts** (`integer`): Maximum failed attempts before factory reset - **min_passcode_length** (`integer`): Minimum passcode length - **min_complex_chars** (`integer`): Minimum special characters in passcode - **no_of_passcode_maintained** (`integer`): Number of passcodes maintained in history - **allow_simple_value** (`boolean`): Whether simple (numeric) passcode is allowed - **auto_lock_idle_for** (`integer`): Auto-lock idle time in minutes - **max_grace_period** (`integer`): Grace period in minutes before passcode prompt ### Sample Response: HTTP 200 Payload successfully added with configuration details. ```json { "max_passcode_age": 150, "min_passcode_length": 5, "payload_id": 9007199254741000, "require_alphanumeric": true, "min_complex_chars": 2, "no_of_passcode_maintained": 50, "allow_simple_value": false, "auto_lock_idle_for": 3, "max_grace_period": 0, "max_failed_attempts": 9 } ``` ### Possible Response Codes - **200**: HTTP code ## Rate Limit ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **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.