Segurança
Active Directory - AD
Desbloquear Usuário

Desbloqueio de Conta no AD

Este endpoint permite desbloquear uma conta de usuário que foi travada no AD (por exemplo, devido a muitas tentativas de senha incorretas).

Permissão Necessária

  • ManterAPISeguranca

Montando a requisição

Método da requisição

POST

Endereço da requisição

Desenvolvimento:

https://apidsv.unimedbh.io/security/ad/v1/unlock

Homologação:

https://apihml.unimedbh.io/security/ad/v1/unlock

Produção:

https://api.unimedbh.io/security/ad/v1/unlock

Cabeçalho da requisição

{
    "Authorization": "Bearer XPTO",
    "Content-Type": "application/json"
}

Corpo da requisição

{
    "username": "ciclano.silva" // sAMAccountName do usuário
}

Respostas da requisição

200 - Sucesso

{
    "message": "Conta do usuário DN: CN=Beltrano Gomes,... desbloqueada com sucesso."}
}

400 - Requisição Inválida

{
    "error": "Corpo da requisição JSON inválido"
}

ou

{
    "error": "Campos obrigatórios ausentes no corpo da requisição: username"
}

404 - Não Encontrado

{
    "message": "Usuário 'ciclano.silva' não encontrado"
}

409 - Conflito

{
    "error": "Múltiplos usuários encontrados para 'ciclano.silva'."
}

500 - Erro Interno

{
    "error": "Tentativa de desbloqueio falhou para o usuário DN: CN=Ciclano Silva,.... Verifique os logs do CloudWatch."
}

Exemplos da requisição

HTTP

POST /security/ad/v1/unlock HTTP/1.1
Host: apihml.unimedbh.io
Content-Type: application/json
Authorization: Bearer XPTO
Content-Length: 83

{
  "username": "ciclano.silva"
}

cURL

curl --location 'https://apihml.unimedbh.io/security/ad/v1/unlock' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer XPTO' \
--data-raw '{
  "username": "ciclano.silva",
  "newPassword": "NovaSenhaSuperSegura@2025!",
  "force": false
}'

JavaScript

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer XPTO");
 
const raw = JSON.stringify({
  "username": "ciclano.silva"
});
 
const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};
 
fetch("https://apihml.unimedbh.io/security/ad/v1/unlock", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

Node.js

const axios = require('axios');
const data = JSON.stringify({
  "username": "ciclano.silva"
});
 
const config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://apihml.unimedbh.io/security/ad/v1/unlock',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer XPTO'
  },
  data : data
};
 
axios.request(config)
  .then((response) => {
    console.log(JSON.stringify(response.data));
  })
  .catch((error) => {
    console.log(error);
  });

PHP

<?php
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://apihml.unimedbh.io/security/ad/v1/unlock',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "username": "ciclano.silva"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer XPTO'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
echo $response;

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://apihml.unimedbh.io/security/ad/v1/unlock")
  .header("Content-Type", "application/json")
  .header("Authorization", "Bearer XPTO")
  .body("{\r\n  \"username\": \"ciclano.silva\"\r\n}")
  .asString();

C#

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://apihml.unimedbh.io/security/ad/v1/unlock");
request.Headers.Add("Authorization", "Bearer XPTO");
var content = new StringContent("{\r\n  \"username\": \"ciclano.silva\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());