Update Password Policy

Updates a specified Password Policy.

Request

HTTP Request

PATCH /node/api/password-policies/:id

Permissions

manage-configuration

Path parameters

Parameter Type Description

id

String

Policy ID

Request body

Request body contains password policy settings that need to be modified. See the Password Policy model for more information.

 {
     "name": "Updated Policy",
     "length": 3,
     "minLowercase": 5,
     "minCapital": 1,
     "minDigits": 1,
     "minSpecial": 1,
     "changePasswordOnFirstLogin": true,
     "passwordExpiredNotificationPeriod": 1,
     "passwordLifetime": 7,
     "uniquePasswordsNumber": 1
 }

You only need to specify fields that you want to update:

 {
     "length": 32,
     "minLowercase": 4
 }

Response

This request returns the modified password policy.

Example

This example modifies password’s minimum length and the minimum amount of lowercase characters.

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
policy_id=<...>
url=https://$saymon_hostname/node/api/password-policies/$policy_id

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
        "length": 1,
        "minLowercase": 3
    }
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let policyId = <...>
let path = "/node/api/password-policies/" + policyId;
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
        "length": 1,
        "minLowercase": 3
    });

let requestOptions = {
    method: "PATCH",
    headers: headers,
    body: data
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let policyId = <...>
let path = "/node/api/password-policies/" + policyId;
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PATCH",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

let data = JSON.stringify({
        "length": 1,
        "minLowercase": 3
    });

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
policy_id = <...>
url = "https://" + saymon_hostname + "/node/api/password-policies/" + policy_id

body = {
        "length": 1,
        "minLowercase": 3
    }

response = requests.request("PATCH", url, json=body, auth=(login, password))
print(response.text)

Response

{
    "id": 1,
    "name": "Default",
    "length": 1,
    "minLowercase": 3,
    "minCapital": 0,
    "minDigits": 0,
    "minSpecial": 0
}