Search users
Searches for users on Mindtickle by username or email, series, group, or module, and returns up to 50 records per page.
Prerequisites
- Authentication and setup: A valid access token.
Endpoint
Section titled “Endpoint”POST /services/data/v4.0/mtobjects/UsersBase URL: the standard REST host for your region. See Base URLs.
Headers: Authorization: Bearer ACCESS_TOKEN, Content-Type: application/json.
Request
Section titled “Request”| Parameter | Type | Required | Description |
|---|---|---|---|
usernames |
Array[string] | Optional | Usernames of the users when UID is enabled for your Mindtickle instance. |
emails |
Array[string] | Optional | Email addresses of the users when UID is not enabled. |
seriesIds |
Array[string] | Optional | IDs of one or more series. |
groupIds |
Array[string] | Optional | IDs of one or more groups. |
moduleIds |
Array[string] | Optional | IDs of one or more modules. |
source |
string | Read-only | The system mechanism used to provision the user. Possible values include _default (REST API), okta (Okta SCIM), and AzureAD (Azure AD SCIM). |
Request example
Section titled “Request example”{ "usernames": [ "alex.fry@example.com", "anna.cruz@example.com", "rosalia.flores@example.com" ], "seriesIds": ["1234567890123456101"], "groupIds": ["1234567890123456102"], "moduleIds": ["1234567890123456103"]}Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
requestId |
string or null | Request identifier. The response examples return null. |
responseCode |
integer | Special response codes from the server. |
responseType |
string | Type of response from the server. |
taskCompleted |
boolean | Completion flag for this request. This endpoint returns its result directly. |
totalSize |
integer | User count reported by the API. Use done and nextRecordsUrl to control pagination. |
done |
boolean | Flag for request completion. |
nextRecordsUrl |
string | URL to fetch the next 50 records. |
users |
Array[User] | Information on the users. |
users[].name |
string | Name of the user. |
users[].username |
string | Username of the user when UID is enabled for your Mindtickle instance, and the email address when UID is not enabled. |
users[].timezone |
string | Time zone of the user. |
users[].id |
string | Mindtickle ID of the user. |
users[].email |
string or null | Applicable only if UID is enabled for your Mindtickle instance. |
users[].userState |
string | Current state of the user: Active, Added, or Deactivated. |
users[].profile |
AttributeMap | Mindtickle profile fields information. |
users[].groupIds |
Array[string] | IDs of the groups that the user belongs to. |
users[].seriesEntities |
Array[SeriesEntity] | Series that the user is invited to. |
users[].source |
string | The system mechanism used to provision the user. Possible values include _default (REST API), okta (Okta SCIM), and AzureAD (Azure AD SCIM). |
users[].managers |
Array[Manager] | Information on the managers assigned to the user. |
Response example
Section titled “Response example”The example contains two user objects with totalSize: 151 and done: false. Do not infer the total count from the length of the users array. The continuation URL is fictional; use the URL returned by your request.
{ "requestId": null, "responseCode": 0, "responseType": "USER_SEARCH_RESPONSE", "taskCompleted": true, "totalSize": 151, "done": false, "nextRecordsUrl": "https://api.example.com/services/data/v4.0/mtobjects/Users/NextRecords/NEXT_RECORDS_TOKEN", "users": [ { "name": "Alex Fry", "username": "alex.fry@example.com", "timezone": "America/Costa_Rica", "id": "123456789abcd104", "email": null, "userState": "ACTIVE", "profile": { "dg": "Manager", "rg": "India", "rgn": "APAC", "dp": "Product" }, "groupIds": [], "seriesEntities": [], "source": "_default", "managers": [ { "username": "james.smith@example.com", "email": null, "key": "a_0" }, { "username": "takumi.ishida@example.com", "email": null, "key": "a_1" } ] }, { "name": "Anna Cruz", "username": "anna.cruz@example.com", "timezone": "America/Costa_Rica", "id": "123456789abcd105", "email": null, "userState": "ACTIVE", "profile": { "dg": "Manager", "rg": "India", "rgn": "APAC", "dp": "Product" }, "groupIds": [], "seriesEntities": [], "source": "_default", "managers": [ { "username": "james.smith@example.com", "email": null, "key": "a_0" }, { "username": "takumi.ishida@example.com", "email": null, "key": "a_1" } ] } ]}- Behavior: An empty JSON object
{}searches all users in the learning site. Results are still paginated. - Limits: A maximum of 50 records are returned per request. Use
nextRecordsUrlfrom the response to fetch subsequent sets of 50 records. - Pagination: Send each subsequent request as
GET NEXT_RECORDS_URLwith the headerAuthorization: Bearer ACCESS_TOKEN. The original request is POST, but subsequent requests must use GET. - Validation: When searching for multiple users, send each username or email as a separate string in the corresponding JSON array.
- Read-only fields:
sourceis read-only. Values passed for it in the request payload are silently ignored.