---
title: "Get library lessons for demo institute."
method: POST
path: "/External/GetDemoLibrary"
tags: ["External"]
---

# Get library lessons for demo institute.

`POST /External/GetDemoLibrary`

<br>
  <i>Replaces "AVRCMSService/External/AVRGetDemoLibrary" service.</i>
</br>
<br>
  <b>AVRDemoId</b>: 1 (MagicLeap), 2 (Oculus), 3 (XR Library)</br>
<br>
  <b>CategoryId</b>: Category Id is optional</br>
<br>
  <b>LessonType</b>: 1 (3D), 4 (360), 5 (MVB)</br>
<br>
  <b>Offset</b>: Page number 0 to n</br>
<br>
  <b>Next</b>: Records per page</br>
<br>
  <b>SortBy</b>: VIEWASC, VIEWDESC, NAMEASC, NAMEDESC, DATEASC, DATEDESC</br>
<br>
  <b>SearchTerm</b>: searches through lessonId, name, tags and description/objective</br>

## Headers

- `X-Version` string

## Request body

- GetDemoLibraryRequest
  - `avrDemoId` integer, required — Demo device identifier.
  - `categoryId` integer, nullable — Category identifier
  - `lessonType` integer, nullable — Lesson type identifier.
  - `offset` integer, required — Page number identifier.
  - `next` integer, required — Records per page identifier.
  - `sortBy` string, nullable — Sorting identifier.
  - `searchTerm` string, nullable — Search term

## Response `200`

Success

- GetLibraryResponse
  - `categoryId` integer
  - `categoryName` string, nullable
  - `lessonList` LibraryExternal[], nullable
    - `lessonId` integer, nullable
    - `gradeId` integer, nullable
    - `contentType` integer, nullable
    - `lessonType` integer, nullable
    - `lessonName` string, nullable
    - `grade` string, nullable
    - `url` string, nullable
    - `hasRecording` boolean
    - `lessonObjective` string, nullable
    - `tag` string, nullable
    - `contentRefInstituteId` integer, nullable
    - `viewCount` integer, nullable
    - `isGLTFAvailable` boolean, nullable
    - `lessonCount` integer, nullable
    - `editorsChoiceSortValue` number, float, nullable
    - `isEditorsChoice` boolean
    - `isCopyRef` boolean, nullable
    - `isAsset3DOneToOneScale` boolean

## Other responses

- `400` — If param invalid
- `401` — If unauthorized

---

[API](https://skmtc.dev/eon-xr/apis/eonxr-api.md) · [All operations](https://skmtc.dev/eon-xr/apis/eonxr-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/eon-xr/eonxr-api/revisions/538c75161c64/schema)
