Reset user password
Resets the password of a user account.
POST ~/api/directoryObjects/resetPassword
Request parameters
This request has no parameters.
Request headers
-
Name
-
Required
-
Description
-
Adm-Authorization
-
True
-
Specify the security token obtained during authentication.
-
Content-Type
-
True
-
Use application/json as the value of this header.
Request body
The request body is a JSON object with the following data structure:
{
"directoryObject": "<objectId>",
"password": "<newPassword>",
"options": {
"cannotChangePassword": <true|false|null>,
"mustChangePassword": <true|false|null>,
"passwordNeverExpires": <true|false|null>
},
"unlockAccount": <true|false>
}
directoryObject string
The identifier of the user account whose password to reset. You can use:
Distinguished name (DN)
# Example
CN=John Smith,CN=Users,DC=example,DC=com
Globally unique identifier (GUID)
# Example
7a4267ce-d354-44e7-8bd6-c681f1284a41
Security identifier (SID)
# Example
S-1-5-21-3635565734-1729062999-1822655016-1627
password string
New password value. You can generate a strong random password using the Generate password request.
options AccountOptions
, optional
Specifies whether to change any account options after resetting the password.
Show attributes
options.cannotChangePassword bool
Specify true
or false
to set or clear the User cannot change password flag, or specify null
to avoid changing the current value.
options.mustChangePassword bool
Specify true
or false
to set or clear the User must change password at next logon flag, or specify null
to avoid changing the current value.
options.passwordNeverExpires bool
Specify true
or false
to set or clear the Password never expires flag, or specify null
to avoid changing the current value.
unlockAccount bool
, optional
Specify true
to unlock the account after resetting the password.
Responses
If successful, returns 200 OK
status code and an operation result in the response body. Otherwise, returns one of the common HTTP error codes and an error description in the response body.
Examples
Example 1 – Reset user's password and unlock account
The following code sample resets the password of a user account and unlocks their account if it is locked.
Request
- PowerShell
-
$baseUrl = "https://host.example.com/restApi" $endpoint = "/api/directoryObjects/resetPassword" # Request parameters $requestUrl = $baseUrl + $endpoint $requestHeaders = @{"Adm-Authorization" = YOUR-SECURITY-TOKEN} $requestBody = ConvertTo-Json @{ "directoryObject" = "CN=John Smith,CN=Users,DC=example,DC=com"; "password" = "MyNewPassword"; "unlockAccount" = $true } # Make request Invoke-RestMethod -Method POST -Headers $requestHeaders -Uri $requestUrl ` -Body $requestBody -ContentType "application/json"
- C#
-
using System; using System.Text; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main() { const string baseUrl = "https://host.example.com/restApi"; const string endpoint = "/api/directoryObjects/resetPassword"; // Create JSON request body string jsonRequest = @" { 'directoryObject': 'CN=John Smith,CN=Users,DC=example,DC=com', 'password': 'MyNewPassword', 'unlockAccount': true }"; StringContent requestBody = new(jsonRequest, Encoding.UTF8, "application/json"); // Initialize HTTP client using HttpClient client = new(); client.DefaultRequestHeaders.Add("Adm-Authorization", YOUR-SECURITY-TOKEN); // Make request HttpResponseMessage response = await client.PostAsync( baseUrl + endpoint, requestBody); string responseBody = response.Content.ReadAsStringAsync().Result; Console.WriteLine(responseBody); } }
- cURL
-
curl --header 'Adm-Authorization: YOUR-SECURITY-TOKEN' \ --header 'Content-Type: application/json' \ --request POST 'https://host.example.com/restApi/api/directoryObjects/resetPassword' \ --data-raw '{ "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "unlockAccount": true }'
- node.js
-
var https = require('https'); // Request parameters var options = { 'method': 'POST', 'hostname': 'host.example.com', 'path': '/restapi/api/directoryObjects/resetPassword', 'headers': { 'Adm-Authorization': 'YOUR-SECURITY-TOKEN', 'Content-Type': 'application/json' } }; // Create JSON request body var postData = ` { "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "unlockAccount": true }`; // Make request var req = https.request(options, res => { var data = []; res.on("data", chunk => { data.push(chunk); }); res.on("end", () => { var body = Buffer.concat(data); console.log(body.toString()); }); res.on("error", error => { console.error(error); }); }); req.write(postData); req.end();
- Python
-
import requests import json baseUrl = "https://host.example.com/restApi" endpoint = "/api/directoryObjects/resetPassword" # Request parameters requestUrl = baseUrl + endpoint requestHeaders = {"Adm-Authorization": YOUR-SECURITY-TOKEN} requestBody = { "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "unlockAccount": True } # Make request request = requests.post(requestUrl, headers=requestHeaders, json=requestBody) response = json.loads(request.content) print(response)
Response
HTTP Status code: 200 OK
Response body:
{
"resultType": 0,
"innerMessages": [],
"exception": null,
"actualObjectDN": "CN=John Smith,CN=Users,DC=example,DC=com",
"extraInfo": {}
}
Example 2 – Reset user's password and force to change it at next logon
The following code sample resets the password of a user account and sets the User must change password at next logon flag.
Request
- PowerShell
-
$baseUrl = "https://host.example.com/restApi" $endpoint = "/api/directoryObjects/resetPassword" # Request parameters $requestUrl = $baseUrl + $endpoint $requestHeaders = @{"Adm-Authorization" = YOUR-SECURITY-TOKEN} $requestBody = ConvertTo-Json @{ "directoryObject" = "CN=John Smith,CN=Users,DC=example,DC=com"; "password" = "MyNewPassword"; "options" = @{"mustChangePassword" = $true} } # Make request Invoke-RestMethod -Method POST -Headers $requestHeaders -Uri $requestUrl ` -Body $requestBody -ContentType "application/json"
- C#
-
using System; using System.Text; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main() { const string baseUrl = "https://host.example.com/restApi"; const string endpoint = "/api/directoryObjects/resetPassword"; // Create JSON request body string jsonRequest = @" { 'directoryObject': 'CN=John Smith,CN=Users,DC=example,DC=com', 'password': 'MyNewPassword', 'options': {'mustChangePassword': true} }"; StringContent requestBody = new(jsonRequest, Encoding.UTF8, "application/json"); // Initialize HTTP client using HttpClient client = new(); client.DefaultRequestHeaders.Add("Adm-Authorization", YOUR-SECURITY-TOKEN); // Make request HttpResponseMessage response = await client.PostAsync( baseUrl + endpoint, requestBody); string responseBody = response.Content.ReadAsStringAsync().Result; Console.WriteLine(responseBody); } }
- cURL
-
curl --header 'Adm-Authorization: YOUR-SECURITY-TOKEN' \ --header 'Content-Type: application/json' \ --request POST 'https://host.example.com/restApi/api/directoryObjects/resetPassword' \ --data-raw '{ "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "options": { "mustChangePassword": true } }'
- node.js
-
var https = require('https'); // Request parameters var options = { 'method': 'POST', 'hostname': 'host.example.com', 'path': '/restapi/api/directoryObjects/resetPassword', 'headers': { 'Adm-Authorization': 'YOUR-SECURITY-TOKEN', 'Content-Type': 'application/json' } }; // Create JSON request body var postData = ` { "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "options": {"mustChangePassword": true} }`; // Make request var req = https.request(options, res => { var data = []; res.on("data", chunk => { data.push(chunk); }); res.on("end", () => { var body = Buffer.concat(data); console.log(body.toString()); }); res.on("error", error => { console.error(error); }); }); req.write(postData); req.end();
- Python
-
import requests import json baseUrl = "https://host.example.com/restApi" endpoint = "/api/directoryObjects/resetPassword" # Request parameters requestUrl = baseUrl + endpoint requestHeaders = {"Adm-Authorization": YOUR-SECURITY-TOKEN} requestBody = { "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com", "password": "MyNewPassword", "options": {"mustChangePassword": True} } # Make request request = requests.post(requestUrl, headers=requestHeaders, json=requestBody) response = json.loads(request.content) print(response)
Response
HTTP Status code: 200 OK
Response body:
{
"resultType": 0,
"innerMessages": [],
"exception": null,
"actualObjectDN": "CN=John Smith,CN=Users,DC=example,DC=com",
"extraInfo": {}
}