API: users
List the users of an LTI tool, unenrol a user from a course, or delete users.
These endpoints read the users that registered through an LTI tool and remove users. Unenrolling takes a user out of one course and can reset their progress there; deleting removes the account from the platform. Users that registered through a sign-up URL are listed and deleted in API: sign-up URLs (magic).
Every endpoint accepts both GET and POST; the heading shows the method the specification lists first. Uploads must use POST. Send your API key in the Access-Token header. The base URL is https://<your-platform>/local/ltisaas/api.php/v1; use v0 with the token dummy to get test data. Error responses are JSON with success: false, error and debuginfo. Authentication, versions and limits are explained in API documentation.
Generated from the LtiSaas API specification 1.0, retrieved 2026-10-30 from dev-auto.
| Endpoint | Description |
|---|---|
| GET /user/list | Get list of users in a tool |
| POST /user/unenrol | Unenrol a user from a course |
| GET /user/delete | Delete a user by ID |
| GET /user/delete_bulk | Delete multiple users by IDs |
GET /user/list
Get list of users in a tool. This endpoint retrieves a list of users that are registered in a specific tool. The result is a list of users with their respective information, which can be used for further operations or analysis.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
toolid | query | integer | no | The identifier of the tool (optional). |
Example request
curl -H "Access-Token: <your token>" \
"https://<your-platform>/local/ltisaas/api.php/v1/user/list"Example response (200). LTI registrations within a tool for a specific time period.
{
"results": [
{
"userid": 14,
"firstname": "John",
"lastname": "Doe",
"email": "test@example.com",
"lastip": "127.0.0.1",
"lti_lastgrade": 0.9,
"lti_lastaccess": 1689797870,
"lti_timecreated": 1589797870
}
]
}Errors: 400 Bad Request, 401 Unauthorized
POST /user/unenrol
Unenrol a user from a course. Unenrols a user from a course and optionally resets all course progress, including completion data, activity completion, SCORM tracking data, and grades. The user account itself is not deleted.
Request body (application/json).
| Field | Type | Required | Description |
|---|---|---|---|
userid | integer | yes | User ID. Example: 123. |
courseid | integer | yes | Course ID. Example: 45. |
reset | integer | no | Whether to reset all progress for the user in the course. 0 = keep progress, 1 = reset progress. Allowed values: 0, 1. Default: 0. Example: 1. |
Example request
curl -X POST -H "Access-Token: <your token>" -H "Content-Type: application/json" \
-d '{"userid": 123, "courseid": 45}' \
"https://<your-platform>/local/ltisaas/api.php/v1/user/unenrol"Example response (200). User successfully unenrolled.
{
"status": true,
"resetperformed": true,
"message": "User unenrolled from course."
}Errors: 400 Invalid request
GET /user/delete
Delete a user by ID. This endpoint deletes a user based on a given ID. Upon successful deletion, the user will be removed from the system. In case the user ID is not found or cannot be deleted due to certain reasons, appropriate error responses will be returned.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | query | integer | yes | The identifier of the user. |
Example request
curl -H "Access-Token: <your token>" \
"https://<your-platform>/local/ltisaas/api.php/v1/user/delete?id=<id>"Example response (200). Returns success if the operation was successful.
{
"success": true
}Errors: 400 Bad Request, 401 Unauthorized
GET /user/delete_bulk
Delete multiple users by IDs. This endpoint deletes multiple users based on given IDs. Upon successful deletion, the users will be removed from the system. In case any of the user IDs are not found or cannot be deleted due to certain reasons, an appropriate error response will be returned.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ids | query | array of integer | yes | Comma-separated list of identifiers of the users to delete. Comma-separated. |
Example request
curl -H "Access-Token: <your token>" \
"https://<your-platform>/local/ltisaas/api.php/v1/user/delete_bulk?ids=<ids>"Example response (200). Returns success if the operation was successful.
{
"success": true
}Errors: 400 Bad Request, 401 Unauthorized