Users Keycloak API
Create a new user
keycloakOnly | boolean Default: false Create auth user only during user creation |
username | string A unique name belonging to a user. Typically used for login | ||||||||||||||||||||||||
id | string <uuid> A globally unique (UUID) identifier for the user | ||||||||||||||||||||||||
externalSystemId | string A unique ID that corresponds to an external authority | ||||||||||||||||||||||||
barcode | string The unique library barcode for this user | ||||||||||||||||||||||||
active | boolean A flag to determine if the user's account is effective and not expired. The tenant configuration can require the user to be active for login. Active is different from the loan patron block | ||||||||||||||||||||||||
type | string The class of user like staff or patron; this is different from patronGroup | ||||||||||||||||||||||||
patronGroup | string <uuid> A UUID corresponding to the group the user belongs to, see /groups API, example groups are undergraduate and faculty; loan rules, patron blocks, fees/fines and expiration days can use the patron group | ||||||||||||||||||||||||
departments | Array of strings <uuid> unique [ items <uuid > ] A list of UUIDs corresponding to the departments the user belongs to, see /departments API | ||||||||||||||||||||||||
meta | object Deprecated | ||||||||||||||||||||||||
proxyFor | Array of strings Deprecated | ||||||||||||||||||||||||
object (Personal Schema) Personal information about the user | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
enrollmentDate | string <date-time> The date in which the user joined the organization | ||||||||||||||||||||||||
expirationDate | string <date-time> The date for when the user becomes inactive | ||||||||||||||||||||||||
createdDate | string <date-time> Deprecated | ||||||||||||||||||||||||
updatedDate | string <date-time> Deprecated | ||||||||||||||||||||||||
object (Metadata Schema) Metadata about creation and changes to records, provided by the server (client should not provide) | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object (tags) List of simple tags that can be added to an object | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Object that contains custom field | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
preferredEmailCommunication | Array of strings <= 3 items unique Items Enum: "Support" "Programs" "Services" Preferred email communication types |
{- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}
{- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}
Retrieve a list of users
query | string A CQL query string with search conditions. |
offset | integer >= 0 Default: 0 Skip over a number of elements by specifying an offset value for the query. |
limit | integer [ 0 .. 500 ] Default: 10 Limit the number of elements returned in the response. |
{- "users": [
- {
- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}
], - "totalRecords": 0,
- "resultInfo": {
- "totalRecords": 0,
- "responseTime": 0,
- "facets": [
- {
- "facetValues": [
- {
- "count": 0,
- "value": null
}
], - "type": "string"
}
], - "diagnostics": [
- {
- "source": "string",
- "code": "string",
- "message": "string",
- "module": "string",
- "recordCount": 0,
- "query": "string"
}
]
}
}
Delete a collection of users selected by a CQL query; | this doesn't delete proxyFor records that reference them
query | string A CQL query string with search conditions. |
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
Update user with given id
id required | string <uuid> Entity id |
username | string A unique name belonging to a user. Typically used for login | ||||||||||||||||||||||||
id | string <uuid> A globally unique (UUID) identifier for the user | ||||||||||||||||||||||||
externalSystemId | string A unique ID that corresponds to an external authority | ||||||||||||||||||||||||
barcode | string The unique library barcode for this user | ||||||||||||||||||||||||
active | boolean A flag to determine if the user's account is effective and not expired. The tenant configuration can require the user to be active for login. Active is different from the loan patron block | ||||||||||||||||||||||||
type | string The class of user like staff or patron; this is different from patronGroup | ||||||||||||||||||||||||
patronGroup | string <uuid> A UUID corresponding to the group the user belongs to, see /groups API, example groups are undergraduate and faculty; loan rules, patron blocks, fees/fines and expiration days can use the patron group | ||||||||||||||||||||||||
departments | Array of strings <uuid> unique [ items <uuid > ] A list of UUIDs corresponding to the departments the user belongs to, see /departments API | ||||||||||||||||||||||||
meta | object Deprecated | ||||||||||||||||||||||||
proxyFor | Array of strings Deprecated | ||||||||||||||||||||||||
object (Personal Schema) Personal information about the user | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
enrollmentDate | string <date-time> The date in which the user joined the organization | ||||||||||||||||||||||||
expirationDate | string <date-time> The date for when the user becomes inactive | ||||||||||||||||||||||||
createdDate | string <date-time> Deprecated | ||||||||||||||||||||||||
updatedDate | string <date-time> Deprecated | ||||||||||||||||||||||||
object (Metadata Schema) Metadata about creation and changes to records, provided by the server (client should not provide) | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object (tags) List of simple tags that can be added to an object | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
object Object that contains custom field | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
preferredEmailCommunication | Array of strings <= 3 items unique Items Enum: "Support" "Programs" "Services" Preferred email communication types |
{- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
{- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}
Finds user permissions by filter. desiredPermissions query parameter is required. Wildcard (*) is supported.
id required | string <uuid> Entity id |
desiredPermissions required | Array of strings Example: desiredPermissions=users.collection.get&desiredPermissions=users.item.* Permissions of permission prefix to filter by |
{- "permissions": [
- "string"
]
}
Get a user by self reference
include | Array of strings (Included field) Items Enum: "groups" "perms" "proxiesfor" "servicepoints" "expanded_perms" "expanded_servicepoints" Indicates which referenced fields should be populated (de-referenced) by the service |
expandPermissions | boolean Default: false Whether or not to expand permissions listings |
overrideUser | boolean Default: false When set to true the real user will be retrieved for ECS login into member tenants |
{- "user": {
- "username": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "externalSystemId": "string",
- "barcode": "string",
- "active": true,
- "type": "string",
- "patronGroup": "eb001005-6661-42d5-8ba7-00bd0866bea0",
- "departments": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "meta": { },
- "proxyFor": [
- "string"
], - "personal": {
- "lastName": "string",
- "firstName": "string",
- "middleName": "string",
- "preferredFirstName": "string",
- "email": "string",
- "pronouns": "string",
- "phone": "string",
- "mobilePhone": "string",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "addresses": [
- {
- "id": "string",
- "countryId": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "addressTypeId": "b4b5657e-1710-432d-b2f1-e072418fff5c",
- "primaryAddress": true
}
], - "preferredContactTypeId": "string",
}, - "enrollmentDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "createdDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}, - "tags": {
- "tagList": [
- "string"
]
}, - "customFields": { },
- "preferredEmailCommunication": [
- "Support"
]
}, - "patronGroup": {
- "group": "string",
- "desc": "string",
- "id": "string",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}, - "permissions": {
- "id": "string",
- "userId": "string",
- "permissions": [
- { }
], - "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}, - "proxiesFor": [
- {
- "userId": "string",
- "proxyUserId": "string",
- "id": "string",
- "requestForSponsor": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "notificationsTo": "string",
- "accrueTo": "string",
- "status": "string",
- "expirationDate": "2019-08-24T14:15:22Z",
- "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}
], - "servicePointsUser": {
- "id": "string",
- "userId": "string",
- "servicePointsIds": [
- "string"
], - "servicePoints": [
- {
- "id": "string",
- "name": "string",
- "code": "string",
- "discoveryDisplayName": "string",
- "description": "string",
- "shelvingLagTime": 0,
- "pickupLocation": true,
- "staffSlips": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "printByDefault": true
}
], - "locationIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}
], - "defaultServicePointId": "string",
- "defaultServicePoint": {
- "id": "string",
- "name": "string",
- "code": "string",
- "discoveryDisplayName": "string",
- "description": "string",
- "shelvingLagTime": 0,
- "pickupLocation": true,
- "staffSlips": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "printByDefault": true
}
], - "locationIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}, - "metadata": {
- "createdDate": "2019-08-24T14:15:22Z",
- "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
- "createdByUsername": "string",
- "updatedDate": "2019-08-24T14:15:22Z",
- "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
- "updatedByUsername": "string"
}
}, - "originalTenantId": "string"
}
Retrieve a list of user migrations
query | string A CQL query string with search conditions. |
offset | integer >= 0 Default: 0 Skip over a number of elements by specifying an offset value for the query. |
limit | integer [ 0 .. 500 ] Default: 10 Limit the number of elements returned in the response. |
{- "migrations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "in_progress",
- "totalRecords": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "finishedAt": "2019-08-24T14:15:22Z"
}
], - "totalRecords": 0
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "in_progress",
- "totalRecords": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "finishedAt": "2019-08-24T14:15:22Z"
}
Link users to an identity provider migration operation
centralTenantId required | string Central tenant id that will be used for linking the shadow users |
userIds required | Array of strings <uuid> unique [ items <uuid > ] A list of user UUIDs that are to be scheduled for IDP linking in central tenant |
property name* additional property | any |
{- "centralTenantId": "string",
- "userIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Unlink users from an identity provider migration operation
centralTenantId required | string Central tenant id that will be used for linking the shadow users |
userIds required | Array of strings <uuid> unique [ items <uuid > ] A list of user UUIDs that are to be scheduled for IDP linking in central tenant |
property name* additional property | any |
{- "centralTenantId": "string",
- "userIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
called when a user has forgotten a password
id | string Id |
{- "id": "string"
}
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
called when a user has forgotten a username
id | string Id |
{- "id": "string"
}
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
{- "newPassword": "string"
}
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
Generate and send password reset link
userId required | string <uuid> Id of user to whom a reset password link is sent |
{- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b"
}
{- "link": "string"
}
Check if AuthUser exists for the specified user ID
userId required | string <uuid> User ID |
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}
Check if AuthUser exists for the specified user ID
userId required | string <uuid> User ID |
{- "errors": [
- {
- "message": "string",
- "type": "string",
- "code": "string",
- "parameters": [
- {
- "key": "string",
- "value": "string"
}
]
}
], - "total_records": 0
}