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
}