Skip to content

Update Library Content

Endpoint used to partially update a standalone content in the institution library. All body fields are optional; only sent fields are updated. The content type cannot be changed after creation.

Note: This endpoint is served by Toolzz LXP API (Encore library service), 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.

Terminal window
curl --request PATCH \
--url 'https://lxp.prod.api.toolzz.media/institution/library/contents/1234567' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Updated title",
"description": "Updated description",
"difficultyLevel": "hard",
"tags": "updated,guide",
"status": 1
}'
{
"content": {
"id": 1234567,
"institutionId": 39955387,
"userId": 98210156,
"title": "Updated title",
"description": "Updated description",
"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": "hard",
"tags": "updated,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-15T14:30:00.000Z"
}
}

ParameterTypeDescriptionRequired
AuthorizationStringJWT access token (Bearer <token>). Must include institutionId, userID, and subdomain.Yes
ParameterTypeDescriptionRequired
idnumberUnique content identifier (positive integer).Yes
ParameterTypeDescription
titlestringContent title. Cannot be empty if provided.
descriptionstringContent description.
bodystringHTML content (for text and html5).
videoUrlstringExternal video URL (for video_online).
fileUrlstringAlternative URL for video_online.
durationnumberDuration in minutes.
thumbnailUrlstringThumbnail image URL.
catalogCoverRectangularUrlstringRectangular catalog cover URL.
cycleIdsnumber[]Cycle IDs (positive integers). Replaces existing links.
cycleStageIdsnumber[]Cycle stage IDs (positive integers).
disciplineIdsnumber[]Discipline IDs (positive integers).
schoolIdsnumber[]School IDs (positive integers).
difficultyLevelstringhard, medium, or low.
tagsstringComma-separated tags.
sourcestringContent source.
authorsstringContent authors.
disablePlayerControlsbooleanDisable video player controls.
showInStudentCatalogbooleanShow in student catalog.
showInVisitorCatalogbooleanShow in visitor catalog.
blockCatalogLoggedOutbooleanBlock catalog access when logged out.
showCourseDetailsbooleanShow course details in catalog.
showInRelatedVideosbooleanShow in related videos section.
videoOrientationstringhorizontal or vertical.
statusnumber0: Draft. 1: Published.

When body, videoUrl, or fileUrl is sent, the value is validated according to the existing content type.


KeyTypeDescription
contentobjectUpdated content object with full details.

HTTPCodeWhen
400invalid_argumentInvalid fields (e.g. empty title, invalid difficultyLevel, invalid body for type)
401unauthenticatedMissing or invalid JWT
403permission_deniedUser is not linked to the institution or is a student
404not_foundContent not found or belongs to another institution

  • Requires valid JWT with admin access (auth: true).
  • Data is scoped to the institution from the token.
  • Students cannot update library content.
  • HTTPS/TLS for all environments.