PowerShell OneLogin: Update a User by ID

Back to Index

Updates fields of the user with a given ID. This example updates the user with ID = 38979078.

Documentation: https://developers.onelogin.com/api-docs/1/users/update-user

CURL Command

curl -X PUT 'https://api.us.onelogin.com/api/1/users/38979078  \
-H "Authorization: bearer:onelogin_access_token" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
    "comment":"Likes peanuts.",
    "title": "Programmer XVII"
}'

PowerShell Example

[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")

$rest = New-Object Chilkat.Rest

#  URL: https://api.us.onelogin.com/api/1/users/38979078
$bTls = $true
$port = 443
$bAutoReconnect = $true
$success = $rest.Connect("api.us.onelogin.com",$port,$bTls,$bAutoReconnect)
if ($success -ne $true) {
    $("ConnectFailReason: " + $rest.ConnectFailReason)
    $($rest.LastErrorText)
    exit
}

$json = New-Object Chilkat.JsonObject
$json.UpdateString("comment","Likes peanuts.")
$json.UpdateString("title","Programmer XVII")

$rest.AddHeader("Content-Type","application/json")
$rest.AddHeader("Authorization","bearer:onelogin_access_token")
$rest.AddHeader("Accept","application/json")

$sbRequestBody = New-Object Chilkat.StringBuilder
$json.EmitSb($sbRequestBody)
$sbResponseBody = New-Object Chilkat.StringBuilder
$success = $rest.FullRequestSb("PUT","/api/1/users/38979078",$sbRequestBody,$sbResponseBody)
if ($success -ne $true) {
    $($rest.LastErrorText)
    exit
}

$respStatusCode = $rest.ResponseStatusCode
if ($respStatusCode -ge 400) {
    $("Response Status Code = " + $respStatusCode)
    $("Response Header:")
    $($rest.ResponseHeader)
    $("Response Body:")
    $($sbResponseBody.GetAsString())
    exit
}

$jsonResponse = New-Object Chilkat.JsonObject
$jsonResponse.LoadSb($sbResponseBody)

$statusError = $jsonResponse.BoolOf("status.error")
$statusCode = $jsonResponse.IntOf("status.code")
$statusType = $jsonResponse.StringOf("status.type")
$statusMessage = $jsonResponse.StringOf("status.message")
$i = 0
$count_i = $jsonResponse.SizeOfArray("data")
while ($i -lt $count_i) {
    $jsonResponse.I = $i
    $activated_at = $jsonResponse.StringOf("data[i].activated_at")
    $created_at = $jsonResponse.StringOf("data[i].created_at")
    $email = $jsonResponse.StringOf("data[i].email")
    $username = $jsonResponse.StringOf("data[i].username")
    $firstname = $jsonResponse.StringOf("data[i].firstname")
    $group_id = $jsonResponse.StringOf("data[i].group_id")
    $id = $jsonResponse.IntOf("data[i].id")
    $invalid_login_attempts = $jsonResponse.StringOf("data[i].invalid_login_attempts")
    $invitation_sent_at = $jsonResponse.StringOf("data[i].invitation_sent_at")
    $last_login = $jsonResponse.StringOf("data[i].last_login")
    $lastname = $jsonResponse.StringOf("data[i].lastname")
    $locked_until = $jsonResponse.StringOf("data[i].locked_until")
    $comment = $jsonResponse.StringOf("data[i].comment")
    $openid_name = $jsonResponse.StringOf("data[i].openid_name")
    $locale_code = $jsonResponse.StringOf("data[i].locale_code")
    $password_changed_at = $jsonResponse.StringOf("data[i].password_changed_at")
    $phone = $jsonResponse.StringOf("data[i].phone")
    $status = $jsonResponse.IntOf("data[i].status")
    $updated_at = $jsonResponse.StringOf("data[i].updated_at")
    $distinguished_name = $jsonResponse.StringOf("data[i].distinguished_name")
    $external_id = $jsonResponse.StringOf("data[i].external_id")
    $directory_id = $jsonResponse.StringOf("data[i].directory_id")
    $member_of = $jsonResponse.StringOf("data[i].member_of")
    $samaccountname = $jsonResponse.StringOf("data[i].samaccountname")
    $userprincipalname = $jsonResponse.StringOf("data[i].userprincipalname")
    $manager_ad_id = $jsonResponse.StringOf("data[i].manager_ad_id")
    $role_id = $jsonResponse.StringOf("data[i].role_id")
    $company = $jsonResponse.StringOf("data[i].company")
    $department = $jsonResponse.StringOf("data[i].department")
    $title = $jsonResponse.StringOf("data[i].title")
    $state = $jsonResponse.IntOf("data[i].state")
    $trusted_idp_id = $jsonResponse.StringOf("data[i].trusted_idp_id")
    $i = $i + 1
}

Sample JSON Response Body

{
  "status": {
    "error": false,
    "code": 200,
    "type": "success",
    "message": "Success"
  },
  "data": [
    {
      "activated_at": null,
      "created_at": "2018-04-16T01:00:33.687Z",
      "email": "matt@chilkat.io",
      "username": "matt",
      "firstname": "Matt",
      "group_id": null,
      "id": 38979078,
      "invalid_login_attempts": null,
      "invitation_sent_at": null,
      "last_login": null,
      "lastname": "Chilkat",
      "locked_until": null,
      "comment": "Likes peanuts.",
      "openid_name": "matt",
      "locale_code": null,
      "password_changed_at": null,
      "phone": "6302581871",
      "status": 1,
      "updated_at": "2018-04-16T22:01:27.715Z",
      "distinguished_name": null,
      "external_id": null,
      "directory_id": null,
      "member_of": null,
      "samaccountname": null,
      "userprincipalname": null,
      "manager_ad_id": null,
      "role_id": null,
      "company": "Chilkat Software, Inc.",
      "department": "Development",
      "title": "Programmer XVII",
      "state": 1,
      "trusted_idp_id": null
    }
  ]
}