Generic SCIM Endpoint - Replace User
The Replace User endpoint completely replaces the requested User's email, name, and/or status (active or suspended) in strongDM with the provided User information.
The only fields allowed to be updated in strongDM via this endpoint are the User's Email, Name, and whether they are Suspended.
To suspend a User, provide the property active: false
.
Request
Endpoint
/provisioning/generic/v2/Users/<id>
HTTP Method
PUT
Path variables
Variable | Description | Required? | Notes | Example |
---|---|---|---|---|
ID | The User ID | Required | Returns a 404 if the User ID is not found or if it matches a non-User | a-53fa578c61716688 |
Request body attributes
Attribute | Description | Example |
---|---|---|
active | The User's status (Boolean). Set to false to suspend a User upon creation. | active: false |
name | The User's name, comprising givenName and familyName properties | {"givenName": "Firstname", "familyName": "Lastname"} |
schemas | The schema URI for representing users. Include the value as indicated in the example. | "urn:ietf:params:scim:schemas:core:2.0:User" |
userName | The User's username | "myUser@example.test" |
Example request
PUT app.strongdm.com/provisioning/generic/v2/Users/a-1377f104617182e1!
{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],"userName": "myUser@example.test","name": {"givenName": "Firstname","familyName": "Lastname"},"id": "a-1377f104617182e1","meta": { "resourceType": "User", "location": "Users/a-1377f104617182e1" },"active": true}
Response
Example success response
(Status 200)
{"active": true,"displayName": "Firstname Lastname","id": "a-1377f104617182e1","meta": { "resourceType": "User", "location": "Users/a-1377f104617182e1" },"name": {"familyName": "Lastname","formatted": "Firstname Lastname","givenName": "Firstname"},"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],"userName": "myUser@example.test","userType": "user"}
Example response there was a conflicting email
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "could not update user: cannot update account: item already exists: myUser@example.test is already taken.","status": "409"}
Example response if there was no email
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "could not create user: cannot create user: invalid operation: email cannot be blank","status": "400"}