List Library Contents
Endpoint used to list standalone contents from the institution library. Returns only library types supported by this API: text, online video (video_online), and HTML5 embed (html5).
Note: This endpoint is served by Toolzz LXP API (Encore
libraryservice), not by the institution monolith domain. Use the LXP API base URL (e.g.https://lxp.prod.api.toolzz.media).
Warning: Requires a valid admin JWT. Users with student privilege (
privilegio_id = 4) cannot manage library content.
Request Example
Section titled “Request Example”curl --request GET \ --url 'https://lxp.prod.api.toolzz.media/institution/library/contents?type=text&status=1&search=guide&cycleId=179&page=1&limit=10' \ --header 'Authorization: Bearer <token>'Response Example
Section titled “Response Example”{ "items": [ { "id": 1234567, "institutionId": 39955387, "userId": 98210156, "title": "Introduction to the platform", "description": "Getting started guide", "type": "text", "monolithType": 1, "status": 1, "body": "<p>Welcome to the library</p>", "fileUrl": null, "videoUrl": null, "duration": 0, "thumbnailUrl": null, "catalogCoverRectangularUrl": null, "cycleIds": [179], "cycleStageIds": [], "disciplineIds": [], "schoolIds": [], "difficulty": "medium", "tags": "onboarding,guide", "source": null, "authors": null, "disablePlayerControls": false, "showInStudentCatalog": false, "showInVisitorCatalog": false, "blockCatalogLoggedOut": false, "showCourseDetails": false, "showInRelatedVideos": false, "videoOrientation": null, "createdAt": "2026-06-15T12:00:00.000Z", "updatedAt": "2026-06-15T12:00:00.000Z" } ], "total": 42, "page": 1, "limit": 10}Request description
Section titled “Request description”Access Token
Section titled “Access Token”| Parameter | Type | Description | Required |
|---|---|---|---|
Authorization | String | JWT access token (Bearer <token>). Must include institutionId, userID, and subdomain. | Yes |
URL Parameters (Query)
Section titled “URL Parameters (Query)”| Parameter | Type | Description | Required |
|---|---|---|---|
type | string | Filter by type: text, video_online, or html5. | No |
status | number | Filter by status. 0: Draft. 1: Published. | No |
search | string | Search by title (partial match). | No |
cycleId | number | Filter by linked cycle ID (positive integer). | No |
page | number | Page number. Default 1. | No |
limit | number | Items per page. Default 20, maximum 100. | No |
Response description
Section titled “Response description”| Key | Type | Description |
|---|---|---|
items | array | List of content objects for the current page. |
items[].id | number | Unique content identifier. |
items[].title | string | Content title. |
items[].type | string | Content type (text, video_online, html5). |
items[].status | number | 0: Draft. 1: Published. |
items[].cycleIds | number[] | Linked cycle IDs. |
items[].createdAt | string | Creation timestamp (ISO 8601). |
total | number | Total matching items across all pages. |
page | number | Current page number. |
limit | number | Items per page. |
Results are ordered by creation date (newest first).
Error responses
Section titled “Error responses”| HTTP | Code | When |
|---|---|---|
| 400 | invalid_argument | Invalid query parameters (e.g. invalid page, limit > 100) |
| 401 | unauthenticated | Missing or invalid JWT |
| 403 | permission_denied | User is not linked to the institution or is a student |
Security
Section titled “Security”- Requires valid JWT with admin access (
auth: true). - Data is scoped to the institution from the token.
- Students cannot list library content through this API.
- HTTPS/TLS for all environments.