action dracoon_update_user_attributes {
label: "Add or edit custom user attributes"
description: "### Description: \nAdd or edit custom user attributes.\n
🚧 **Warning: Please note that the response with HTTP status code 200 (OK) is deprecated and will be replaced with HTTP status code 204 (No content)!**
\n\n### Precondition:\nRight 🔓 change users required.\n\n### Postcondition:\nCustom user attributes gets added or edited.\n\n### Further Information:\nBatch function. \nIf an entry exists before, it will be overwritten. \n\n* Allowed characters for keys are: `[a-zA-Z0-9_-]` \n* Characters are **case-insensitive**."
provider: dracoon
method: PUT
path: "/v4/users/{user_id}/userAttributes"
encoding: json
input: {
type: "object"
properties: {
"X-Sds-Auth-Token": {
type: "string"
}
"X-Sds-Date-Format": {
type: "string"
enum: ["UTC", "LOCAL", "OFFSET", "EPOCH", "LEET"]
}
items: {
type: "array"
description: "List of key-value pairs"
items: {
type: "object"
description: "Key-value pair"
required: ["key", "value"]
properties: {
key: {
type: "string"
description: "Entry key"
}
value: {
type: "string"
description: "Entry value"
}
}
}
}
user_id: {
type: "integer"
format: "int64"
}
}
required: ["items", "user_id"]
additionalProperties: false
}
output: {
type: "object"
description: "User information"
required: ["authData", "avatarUuid", "firstName", "id", "isLocked", "lastName", "lockStatus", "userName"]
properties: {
authData: {
type: "object"
description: "User Authentication Data"
required: ["method"]
properties: {
adConfigId: {
type: "integer"
format: "int32"
description: "ID of the user's Active Directory."
}
login: {
type: "string"
description: "User login name"
}
method: {
type: "string"
description: "Authentication method\n\n\n\nAuthentication methods:\n\n* `basic`\n\n* `active_directory`\n\n* `radius`\n\n* `openid`"
}
mustChangePassword: {
type: "boolean"
description: "Determines whether user has to change his / her password\n\n* default: `true` for `basic` auth type\n\n* default: `false` for `active_directory`, `openid` and `radius` auth types"
}
oidConfigId: {
type: "integer"
format: "int32"
description: "ID of the user's OIDC provider."
}
password: {
type: "string"
description: "Password (only relevant for `basic` authentication type)\n\n*NOT* your Active Directory, OpenID or RADIUS password!"
}
}
}
authMethods: {
type: "array"
description: "🚧 Deprecated since v4.13.0\n\nAuthentication methods:\n\n* `sql`\n\n* `active_directory`\n\n* `radius`\n\n* `openid`\n\nuse `authData` instead"
items: {
type: "object"
description: "Authentication method"
required: ["authId", "isEnabled"]
properties: {
authId: {
type: "string"
description: "Authentication method\n\n\n\nAuthentication methods:\n\n* `basic`\n\n* `active_directory`\n\n* `radius`\n\n* `openid`"
}
isEnabled: {
type: "boolean"
description: "Is enabled"
}
options: {
type: "array"
description: "Authentication method options"
items: {
type: "object"
description: "Key-value pair"
required: ["key", "value"]
properties: {
key: {
type: "string"
description: "Entry key"
}
value: {
type: "string"
description: "Entry value"
}
}
}
}
}
}
}
avatarUuid: {
type: "string"
description: "🚀 Since v4.11.0\n\nAvatar UUID"
}
email: {
type: "string"
description: "Email "
}
expireAt: {
type: "string"
format: "date-time"
description: "Expiration date"
}
firstName: {
type: "string"
description: "User first name"
}
gender: {
type: "string"
description: "🚧 Deprecated since v4.12.0\n\nGender"
}
hasManageableRooms: {
type: "boolean"
description: "User has manageable rooms"
}
homeRoomId: {
type: "integer"
format: "int64"
description: "Homeroom ID"
}
id: {
type: "integer"
format: "int64"
description: "Unique identifier for the user"
}
isEncryptionEnabled: {
type: "boolean"
description: "User has generated private key.\n\nPossible if client-side encryption is active for this customer"
}
isLocked: {
type: "boolean"
description: "User is locked:\n\n* `false` - unlocked\n\n* `true` - locked\n\n\n\nUser is locked and can not login anymore."
}
isMfaEnabled: {
type: "boolean"
description: "Determines whether multi-factor authentication is enabled"
}
isMfaEnforced: {
type: "boolean"
description: "Determines whether multi-factor authentication is enforced"
}
lastLoginSuccessAt: {
type: "string"
format: "date-time"
description: "Last successful logon date"
}
lastName: {
type: "string"
description: "User last name"
}
lockStatus: {
type: "integer"
format: "int32"
description: "🚧 Deprecated since v4.7.0\n\nUser lock status:\n\n* `0` - locked\n\n* `1` - Web access allowed\n\n* `2` - Web and mobile access allowed\n\n\n\nPlease use `isLocked` instead."
}
login: {
type: "string"
description: "🚧 Deprecated since v4.13.0\n\nUser login name"
}
phone: {
type: "string"
description: "Phone number"
}
publicKeyContainer: {
type: "object"
description: "Public key container"
required: ["publicKey", "version"]
properties: {
createdAt: {
type: "string"
format: "date-time"
description: "🚀 Since v4.24.0\n\nCreation date"
}
createdBy: {
type: "integer"
format: "int64"
description: "🚀 Since v4.24.0\n\nCreated by user"
}
publicKey: {
type: "string"
description: "Public key"
}
version: {
type: "string"
description: "Version"
}
}
}
title: {
type: "string"
description: "🚧 Deprecated since v4.18.0\n\nJob title"
}
userAttributes: {
type: "object"
description: "User custom attributes (list of key-value pairs)"
required: ["items"]
properties: {
items: {
type: "array"
description: "List of key-value pairs"
items: {
type: "object"
additionalProperties: true
}
}
}
}
userName: {
type: "string"
description: "🚀 Since v4.13.0\n\nUsername"
}
userRoles: {
type: "object"
description: "List of roles"
required: ["items"]
properties: {
items: {
type: "array"
description: "List of roles"
items: {
type: "object"
description: "Role information"
required: ["description", "id", "name"]
properties: {
description: {
type: "string"
description: "Role description"
}
id: {
type: "integer"
format: "int32"
description: "Unique identifier for the role"
}
items: {
type: "array"
description: "List of reachable right over role"
items: {
type: "object"
description: "Right information"
required: ["description", "id", "name"]
properties: {
description: {
type: "string"
description: "Right description"
}
id: {
type: "integer"
format: "int32"
description: "Unique identifier for the right"
}
name: {
type: "string"
description: "Right (unique) name"
}
}
}
}
name: {
type: "string"
description: "Role (unique) name"
}
}
}
}
}
}
}
}
}