Put /api/v202406/user/{userId}

Operation: EditUserV202406 Permissions: UsersAndUserGroups (Manage)

Summary

Edit an existing user. Requires Manage permission for Users & Roles. Please note that password is optional; all other items are required. MaxApprovalAmount may be null; if there is an existing value and null is passed, the existing value will be overwritten.

Path and Query Parameters

Parameter Description Type Location
userId The ID of the user to editRequired integer Path

Request Body Parameters

Content-Type: application/json

Type Reference: UserEditRequestV202406

Parameter Description Type
userCode The user code. This is the user name that is used on sign-in Required Must be between 0 and 65 characters string
fullName The user’s full name Required Must be between 0 and 32 characters string
password The user’s password. Password is not changed if this field is empty.
Not available for users whose identity is managed externally. Must be between 0 and 128 characters Required (defined)
string
email The user’s email address Required Must be between 0 and 128 characters string
topmostCostCenterIds Update a user to one multiple topmost cost center ids
The CostCenterIds must be in the editing user’s topmost Required Cannot be Empty
array
topmostPlaceIds Update a user to one or multiple topmost place ids
The PlaceIds must be in the editing user’s topmost Required Cannot be Empty
array
topmostSpaceIds Update a user to one or multiple topmost EsaSpace ids
The EsaSpaceIds must be in the editing user’s topmost Required Cannot be Empty
array
topmostCollectionIds Update a user to one or multiple topmost collection ids
The CollectionIds must be in the editing user’s topmost Required Cannot be Empty
array
activeDirectory Whether or not the user signs in using active directory. This is used for install client only Required boolean
active Whether or not the user is active Required boolean
passwordExpirationInterval Days until the user’s password expires
Must be set to 0 for users whose identity is managed externally. Required
integer
strongPassword Force the user’s password to have a minimum of 8 characters,
containing at least 1 uppercase, 1 lowercase, 1 number, and 1 symbol.
Must be set to false for users whose identity is managed externally. Required
boolean
forcePasswordChange Force the user to change their password on next login.
Must be set to false for users whose identity is managed externally. Required
boolean
userRoleId The user’s role Required integer
maxApprovalAmount The maximum bill amount (in dollars) the user can approve
If not included, the user has no max limit Required (defined)
integer
reportGroupId The user’s report group. If not included, set to the default report group Required integer
userGroups List of user group ids
If null or not passed the groups a user assigned to will NOT be modified
If an empty list the user will be removed from all groups Required (defined)
array

Request Body

{
  "userCode": "string",
  "fullName": "string",
  "password": "string",
  "email": "string",
  "topmostCostCenterIds": [
    1
  ],
  "topmostPlaceIds": [
    1
  ],
  "topmostSpaceIds": [
    1
  ],
  "topmostCollectionIds": [
    1
  ],
  "activeDirectory": false,
  "active": false,
  "passwordExpirationInterval": 1,
  "strongPassword": false,
  "forcePasswordChange": false,
  "userRoleId": 1,
  "maxApprovalAmount": 1,
  "reportGroupId": 1,
  "userGroups": [
    1
  ]
}

Response Parameters

HTTP 200


Body Parameters

Content Type: application/json

Type Reference: UserResponse

Parameter Description Type
userId User Identifier integer
userCode User Code string
fullName Full name of the user string
userRole SystemUserRoleChild
   userRoleId The user role identifier integer
   userRoleInfo The user role name string
costCenter TopmostCostCenter
   isMultiTopmostCostCenter User’s topmost combines multiple cost centers boolean
   multiTopmostCostCenters CostCenterChild [Array]
      costCenterId The cost center identifier integer
      costCenterCode The cost center code string
      costCenterInfo The cost center info string
   costCenterId The cost center identifier integer
   costCenterCode The cost center code string
   costCenterInfo The cost center info string
place TopmostPlace
   isMultiTopmostPlace User’s topmost combines multiple places boolean
   multiTopmostPlaces PlaceChild [Array]
      placeType PlaceTypeResponse
         placeTypeId The place type identifier integer
         placeTypeCode The place type code string
         placeTypeInfo The place type info string
         structure Indicates if the place is a structure boolean
         icon Icon
            code The icon code Must be between 0 and 64 characters Required when Color is set string
            color The icon color Must be between 0 and 32 characters Required when Code is set string
         placeEntityType PlaceEntityTypeV202406
            placeEntityTypeId The place entity type identifier integer
            placeEntityTypeInfo The place entity type name string
         isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
      isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
      placeId The place identifier integer
      placeCode The place code string
      placeInfo The place info string
   placeType PlaceTypeResponse
      placeTypeId The place type identifier integer
      placeTypeCode The place type code string
      placeTypeInfo The place type info string
      structure Indicates if the place is a structure boolean
      icon Icon
         code The icon code Must be between 0 and 64 characters Required when Color is set string
         color The icon color Must be between 0 and 32 characters Required when Code is set string
      placeEntityType PlaceEntityTypeV202406
         placeEntityTypeId The place entity type identifier integer
         placeEntityTypeInfo The place entity type name string
      isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
   isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
   placeId The place identifier integer
   placeCode The place code string
   placeInfo The place info string
collection TopmostCollection
   isMultiTopmostCollection User’s topmost combines multiple collections boolean
   multiTopmostCollections CollectionChild [Array]
      collectionId The collection identifier integer
      collectionCode The collection code string
      collectionInfo The collection info string
      collectionIcon Icon
         code The icon code Must be between 0 and 64 characters Required when Color is set string
         color The icon color Must be between 0 and 32 characters Required when Code is set string
   collectionId The collection identifier integer
   collectionCode The collection code string
   collectionInfo The collection info string
   collectionIcon Icon
      code The icon code Must be between 0 and 64 characters Required when Color is set string
      color The icon color Must be between 0 and 32 characters Required when Code is set string
activeDirectory Is this a active directory user? boolean
active User is active or inactive boolean
email Email ID of the user string
passwordExpirationInterval Days until password expires integer
strongPassword Does user need a strong password - at least 8 character long, one upper case, one number, one special char boolean
forcePasswordChange Should the user be forced to change password on next login boolean
maxApprovalAmount Max Total cost of bill this user is allowed to approve integer
lastLogin last time the user logged in string
reportGroup ReportGroupChildResponse
   reportGroupId integer
   reportGroupCode string
   reportGroupInfo string
externalUserId The external identifier for the user. This is only used for federated login. string
userGroups List of groups a user is a part of UserGroupChild [Array]
   userGroupId The user group identifier integer
   userGroupName The user group name string
space TopmostSpace
   isMultiTopmostPlace User’s topmost combines multiple places boolean
   multiTopmostPlaces PlaceChild [Array]
      placeType PlaceTypeResponse
         placeTypeId The place type identifier integer
         placeTypeCode The place type code string
         placeTypeInfo The place type info string
         structure Indicates if the place is a structure boolean
         icon Icon
            code The icon code Must be between 0 and 64 characters Required when Color is set string
            color The icon color Must be between 0 and 32 characters Required when Code is set string
         placeEntityType PlaceEntityTypeV202406
            placeEntityTypeId The place entity type identifier integer
            placeEntityTypeInfo The place entity type name string
         isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
      isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
      placeId The place identifier integer
      placeCode The place code string
      placeInfo The place info string
   placeType PlaceTypeResponse
      placeTypeId The place type identifier integer
      placeTypeCode The place type code string
      placeTypeInfo The place type info string
      structure Indicates if the place is a structure boolean
      icon Icon
         code The icon code Must be between 0 and 64 characters Required when Color is set string
         color The icon color Must be between 0 and 32 characters Required when Code is set string
      placeEntityType PlaceEntityTypeV202406
         placeEntityTypeId The place entity type identifier integer
         placeEntityTypeInfo The place entity type name string
      isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
   isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
   placeId The place identifier integer
   placeCode The place code string
   placeInfo The place info string

Responses

HTTP 200

Body

Content Type: application/json
{
  "userId": 1,
  "userCode": "string",
  "fullName": "string",
  "userRole": {
    "userRoleId": 1,
    "userRoleInfo": "string"
  },
  "costCenter": {
    "isMultiTopmostCostCenter": false,
    "multiTopmostCostCenters": [
      {
        "costCenterId": 1,
        "costCenterCode": "string",
        "costCenterInfo": "string"
      }
    ],
    "costCenterId": 1,
    "costCenterCode": "string",
    "costCenterInfo": "string"
  },
  "place": {
    "isMultiTopmostPlace": false,
    "multiTopmostPlaces": [
      {
        "placeType": {
          "placeTypeId": 1,
          "placeTypeCode": "string",
          "placeTypeInfo": "string",
          "structure": false,
          "icon": {
            "code": "string",
            "color": "string"
          },
          "placeEntityType": {
            "placeEntityTypeId": 1,
            "placeEntityTypeInfo": "string"
          },
          "isSystemPlaceType": false
        },
        "isDataRolledUp": false,
        "placeId": 1,
        "placeCode": "string",
        "placeInfo": "string"
      }
    ],
    "placeType": {
      "placeTypeId": 1,
      "placeTypeCode": "string",
      "placeTypeInfo": "string",
      "structure": false,
      "icon": {
        "code": "string",
        "color": "string"
      },
      "placeEntityType": {
        "placeEntityTypeId": 1,
        "placeEntityTypeInfo": "string"
      },
      "isSystemPlaceType": false
    },
    "isDataRolledUp": false,
    "placeId": 1,
    "placeCode": "string",
    "placeInfo": "string"
  },
  "collection": {
    "isMultiTopmostCollection": false,
    "multiTopmostCollections": [
      {
        "collectionId": 1,
        "collectionCode": "string",
        "collectionInfo": "string",
        "collectionIcon": {
          "code": "string",
          "color": "string"
        }
      }
    ],
    "collectionId": 1,
    "collectionCode": "string",
    "collectionInfo": "string",
    "collectionIcon": {
      "code": "string",
      "color": "string"
    }
  },
  "activeDirectory": false,
  "active": false,
  "email": "string",
  "passwordExpirationInterval": 1,
  "strongPassword": false,
  "forcePasswordChange": false,
  "maxApprovalAmount": 1,
  "lastLogin": "2025-03-20",
  "reportGroup": {
    "reportGroupId": 1,
    "reportGroupCode": "string",
    "reportGroupInfo": "string"
  },
  "externalUserId": "string",
  "userGroups": [
    {
      "userGroupId": 1,
      "userGroupName": "string"
    }
  ],
  "space": {
    "isMultiTopmostPlace": false,
    "multiTopmostPlaces": [
      {
        "placeType": {
          "placeTypeId": 1,
          "placeTypeCode": "string",
          "placeTypeInfo": "string",
          "structure": false,
          "icon": {
            "code": "string",
            "color": "string"
          },
          "placeEntityType": {
            "placeEntityTypeId": 1,
            "placeEntityTypeInfo": "string"
          },
          "isSystemPlaceType": false
        },
        "isDataRolledUp": false,
        "placeId": 1,
        "placeCode": "string",
        "placeInfo": "string"
      }
    ],
    "placeType": {
      "placeTypeId": 1,
      "placeTypeCode": "string",
      "placeTypeInfo": "string",
      "structure": false,
      "icon": {
        "code": "string",
        "color": "string"
      },
      "placeEntityType": {
        "placeEntityTypeId": 1,
        "placeEntityTypeInfo": "string"
      },
      "isSystemPlaceType": false
    },
    "isDataRolledUp": false,
    "placeId": 1,
    "placeCode": "string",
    "placeInfo": "string"
  }
}