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.
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
| ECI-ApiKey | string | Yes | Your API key. See Authentication. |
| Content-Type | application/json | Yes | All requests must specify JSON content type, including the request body. |
Path Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| userId | The ID of the user to edit | integer (int32) | Required |
Request Body
| Property | Description | Type |
|---|---|---|
| active | Whether or not the user is active Required | boolean |
| activeDirectory | Whether or not the user signs in using active directory. This is used for install client only Required | boolean |
| costCenterId | NOTE: This property will be deprecated Use TopmostCostCenterIds with a single valued list to update a user to a single topmost cost center Update a user to a single topmost cost center id The CostCenterId must be in the editing user’s topmost If this value is not null then TopmostCostCenterIds must be null Topmost (CostCenter) Required (defined) Only one of CostCenterId, TopmostCostCenterIds can be set |
integer (int32) |
| The user’s email address Required Must be between 0 and 128 characters | string | |
| 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 |
| fullName | The user’s full name Required Must be between 0 and 32 characters | string |
| maxApprovalAmount | The maximum bill amount (in dollars) the user can approve If not included, the user has no max limit Required (defined) | integer (int32) |
| 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 |
| passwordExpirationInterval | Days until the user’s password expires Must be set to 0 for users whose identity is managed externally. Required | integer (int32) |
| placeId | NOTE: This property will be deprecated Use TopmostPlaceIds with a single valued list to update a user to a single topmost place Update a user to a single topmost place id The PlaceId must be in the editing user’s topmost If this value is not null then TopmostPlaceIds must be null Topmost (Place) Required (defined) Only one of PlaceId, TopmostPlaceIds can be set |
integer (int32) |
| reportGroupId | The user’s report group. If not included, set to the default report group Required | integer (int32) |
| 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 |
| topmostCostCenterIds | Update a user to one multiple topmost cost center ids The CostCenterIds must be in the editing user’s topmost If this is not null then CostCenterId must be null Cannot be Empty NULL Valid Required (defined) Only one of CostCenterId, TopmostCostCenterIds can be set | integer[] |
| topmostPlaceIds | Update a user to one or multiple topmost place ids The PlaceIds must be in the editing user’s topmost If this is not null then PlaceId must be null Cannot be Empty NULL Valid Required (defined) Only one of PlaceId, TopmostPlaceIds can be set | integer[] |
| userCode | The user code. This is the user name that is used on sign-in Required Must be between 0 and 65 characters | string |
| 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) | integer[] |
| userRoleId | The user’s role Required | integer (int32) |
{ "active": false, "activeDirectory": false, "costCenterId": 1, "email": "string", "forcePasswordChange": false, "fullName": "string", "maxApprovalAmount": 1, "password": "string", "passwordExpirationInterval": 1, "placeId": 1, "reportGroupId": 1, "strongPassword": false, "topmostCostCenterIds": [
1
], "topmostPlaceIds": [
1
], "userCode": "string", "userGroups": [
1
], "userRoleId": 1
}
Responses
Response Body Parameters
| Property | Description | Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| active | User is active or inactive | boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| activeDirectory | Is this a active directory user? | boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| collection | TopmostCollection | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TopmostCollection properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| costCenter | TopmostCostCenter | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TopmostCostCenter properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Email ID of the user | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| externalUserId | The external identifier for the user. This is only used for federated login. | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| forcePasswordChange | Should the user be forced to change password on next login | boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| fullName | Full name of the user | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| lastLogin | last time the user logged in | string (date-time) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| maxApprovalAmount | Max Total cost of bill this user is allowed to approve | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| passwordExpirationInterval | Days until password expires | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| place | TopmostPlace | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TopmostPlace properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reportGroup | ReportGroupChildResponse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ReportGroupChildResponse properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| space | TopmostSpace | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TopmostSpace properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strongPassword | Does user need a strong password - at least 8 character long, one upper case, one number, one special char | boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| userCode | User Code | string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| userGroups | List of groups a user is a part of | UserGroupChild[] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UserGroupChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| userId | User Identifier | integer (int32) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| userRole | SystemUserRoleChild | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SystemUserRoleChild properties
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{ "active": false, "activeDirectory": false, "collection": { "collectionCode": "string", "collectionIcon": { "code": "string", "color": "string"
}, "collectionId": 1, "collectionInfo": "string", "isMultiTopmostCollection": false, "multiTopmostCollections": [
{ "collectionCode": "string", "collectionIcon": {}, "collectionId": 1, "collectionInfo": "string"
}
]
}, "costCenter": { "costCenterCode": "string", "costCenterId": 1, "costCenterInfo": "string", "isMultiTopmostCostCenter": false, "multiTopmostCostCenters": [
{ "costCenterCode": "string", "costCenterId": 1, "costCenterInfo": "string"
}
]
}, "email": "string", "externalUserId": "string", "forcePasswordChange": false, "fullName": "string", "lastLogin": "2026-03-30", "maxApprovalAmount": 1, "passwordExpirationInterval": 1, "place": { "isDataRolledUp": false, "isMultiTopmostPlace": false, "multiTopmostPlaces": [
{ "isDataRolledUp": false, "placeCode": "string", "placeId": 1, "placeInfo": "string", "placeType": {}
}
], "placeCode": "string", "placeId": 1, "placeInfo": "string", "placeType": { "icon": {}, "isSystemPlaceType": false, "placeEntityType": {}, "placeTypeCode": "string", "placeTypeId": 1, "placeTypeInfo": "string", "structure": false
}
}, "reportGroup": { "reportGroupCode": "string", "reportGroupId": 1, "reportGroupInfo": "string"
}, "space": { "isDataRolledUp": false, "isMultiTopmostPlace": false, "multiTopmostPlaces": [
{ "isDataRolledUp": false, "placeCode": "string", "placeId": 1, "placeInfo": "string", "placeType": {}
}
], "placeCode": "string", "placeId": 1, "placeInfo": "string", "placeType": { "icon": {}, "isSystemPlaceType": false, "placeEntityType": {}, "placeTypeCode": "string", "placeTypeId": 1, "placeTypeInfo": "string", "structure": false
}
}, "strongPassword": false, "userCode": "string", "userGroups": [
{ "userGroupId": 1, "userGroupName": "string"
}
], "userId": 1, "userRole": { "userRoleId": 1, "userRoleInfo": "string"
}
}