v1-v3 APIs have been deprecated
Don't worry, these APIs are deprecated, but they aren't shut off yet.
All new development with APIs should use the newest version of our API: /1. API /1 is based on RESTful principles, is secured by OAuth 2.0, and provides JSON messages, search, pagination, sorting, and filtering.
Update User by ID
For a description of each element in the User resource, see User Resource.
Resource URL
https://api.onelogin.com/api/v3/users/:id
Parameters
Content-Type required string |
Set to application/xml . |
id required string |
Set to the user’s id with .xml appended. For example, 123456.xml . If you don’t know the user’s id , use the Get Users API call to return all users and their id values. |
company string |
* |
department string |
* |
directory-id string |
* |
distinguished-name string |
* |
string |
* |
external-id string |
* |
firstname string |
* |
group-id string |
The group ID must exist. To view a list of groups, use the Get All Groups API. |
invalid-login-attempts integer |
* |
lastname string |
* |
member-of string |
* |
openid-name string |
* |
phone string |
* |
samaccountname string |
* |
status integer |
The status must exist. For a list of valid statuses, see User Resource. |
title string |
* |
username string |
* |
userprincipalname string |
* |
Sample Response
- 200 OK
- 204 No Content
- 400 Bad Request
This request generates no response.
This request generates no response.
<!DOCTYPE html>
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<link href="/assets/application-0373b4078442527cc69b75ecc666d7b9.css"
media="screen"
rel="stylesheet" type="text/css" />
<script src="/assets/login-92e9ee5d1d9afbcc0868943aee337938.js"
type="text/javascript"></script>
<title>OneLogin</title>
</head>
<body class='error-layout'>
<input id='app_revision' type='hidden' value='5bfacb24a1cbfeb3359282dc5b8d2b2a'>
<div class='box'>
<img alt="Onelogin_logo" src="/images/client/onelogin_logo.png" />
<div>
<error>
<title>Invalid Request</title>
<message>Validation failed: Group does not exist</message>
</error>
</div>
</div>
</body>
</html>
Assign Roles
You can include existing roles in the update request message. See the sample cURL request below for the required format. The role_id
that you want to assign to a user must already exist.
To view a list of existing role IDs, use the Get All Roles API.
Assign Custom Attributes
You can include existing custom attributes in the update request message. See the sample cURL request below for the required format. The custom_attribute_{custom_attribute_name}
and {custom_attribute_value}
that you want to assign to a user must already exist.
To view a list of existing custom attributes, use the Get Custom Attributes API.
Sample cURL Request
Try it out with a test account first: Start off with using this cURL request with a test OneLogin account and API key. Once you’ve familiarized yourself with the API’s behavior, switch over to using your production OneLogin account and API key.
Be sure to replace placeholder values surrounded by { }
with actual values.
curl -v -u {api_key}:x -X PUT -H "Content-Type: application/xml" \
-d '<user>
<username>{username}</username>
<company>{company}</company>
<department>{department}</department>
<directory-id>{directory_id}</directory-id>
<distinguished-name>{distinguished_name}</distinguished-name>
<email>{email}</email>
<external-id>{external_id}</external-id>
<firstname>{firstname}</firstname>
<group-id>{group_id}</group-id>
<invalid-login-attempts>{invalid_login_attempts}</invalid-login-attempts>
<lastname>{lastname}</lastname>
<member-of>{member_of}</member-of>
<openid_name>{openid_name}</openid_name>
<phone>{phone}</phone>
<samaccountname>{samaccountname}</samaccountname>
<status>{status}</status>
<title>{title}</title>
<userprincipalname>{userprincipalname}</userprincipalname>
<roles type='array'>
<role>{role_id}</role>
<role>{role_id}</role>
</roles>
<custom_attribute_{custom_attribute_name}>{custom_attribute_value}
</custom_attribute_{custom_attribute_name}>
</user>' \
https://api.onelogin.com/api/v3/users/{user_id}.xml
Postman Collection
Try it out with a test account first: Start off with using this Postman Collection with a test OneLogin account and API key. Once you’ve familiarized yourself with the API’s behavior, switch over to using your production OneLogin account and API key.
Replace sample variables indicated by { }
in the sample request body with your actual values. Also, be sure to set Postman-specific environment variables indicated by {{ }}
.
Download for the Users API
Have a Question?

Found a problem or a bug? Submit a support ticket.

Looking for walkthroughs or how-to guides on OneLogin's user and admin features? Check out the documentation in our Knowledge Base.

Have a product idea or request? Share it with us in our Ideas Portal.