Panopto Folders API

Folder API

Operations 17

GET /api/v1/folders/{id} Get a folder by Id #
PUT /api/v1/folders/{id} Update a folder #
DELETE /api/v1/folders/{id} Delete a folder #
GET /api/v1/folders/{id}/children Get a list of child folders from the given parent #
GET /api/v1/folders/{id}/sessions Get a list of sessions in the given folder #
GET /api/v1/folders/{id}/sessions/search Search for sessions within this folder #
GET /api/v1/folders/{id}/playlists Get a list of playlists in the given folder #
GET /api/v1/folders/{id}/settings/access Get the access settings for the given folder #
PUT /api/v1/folders/{id}/settings/access Update the access settings for the given folder #
GET /api/v1/folders/{id}/settings Get the folder settings for the given folder #
PUT /api/v1/folders/{id}/settings Update folder settings for a specified folder #
GET /api/v1/folders/{id}/permissions Get the user and group permissions for the given folder #
POST /api/v1/folders/{id}/permissions Create a folder permission by assigning a role to a user or group #
DELETE /api/v1/folders/{id}/permissions Remove permission from the folder #
POST /api/v1/folders Create a new folder #
GET /api/v1/folders/search Search for folders based on a keyword #
GET /api/v1/folders/creator Lists all the folders the user is a creator in #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/panopto-folders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

panopto-folders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Panopto Public Accessibility Folders API
  description: The public API for Panopto. OpenID & OAuth information can be found at Panopto/oauth2/.well-known/openid-configuration
  version: '1'
servers:
- url: https://<PanoptoServerURL>(i.e. example.hosted.panopto.com)/Panopto
tags:
- name: Folders
  description: Folder API
paths:
  /api/v1/folders/{id}:
    get:
      tags:
      - Folders
      summary: Get a folder by Id
      operationId: Folders_GetFolderById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
    put:
      tags:
      - Folders
      summary: Update a folder
      description: Update the folders's name, description, or parent folder.
      operationId: Folders_UpdateFolderMetadata
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderUpdate'
    delete:
      tags:
      - Folders
      summary: Delete a folder
      description: Deletes a folder and all of its contents (including sessions and subfolders) according to the retention policy.
      operationId: Folders_DeleteFolder
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: string
                format: guid
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
  /api/v1/folders/{id}/children:
    get:
      tags:
      - Folders
      summary: Get a list of child folders from the given parent
      description: To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.
      operationId: Folders_GetChildFolders
      parameters:
      - name: id
        in: path
        required: true
        description: To get a list of all top level folders, use an empty GUID (00000000-0000-0000-0000-000000000000)
        schema:
          type: string
          format: guid
      - name: canCreate
        in: query
        description: Set to true to only return folders where the user has permission to create sessions.
        schema:
          type: boolean
          default: false
      - name: sortField
        in: query
        description: '''Relevance'' is not valid for this function.'
        x-schema:
          $ref: '#/components/schemas/FolderSortFields'
        schema:
          type: string
          enum:
          - Name
          - Relevance
          default: Name
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfFolder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
  /api/v1/folders/{id}/sessions:
    get:
      tags:
      - Folders
      summary: Get a list of sessions in the given folder
      description: 'To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.


        **Note:** This endpoint does not return all available properties for a session. The CreatedBy and Urls properties (except the ViewerUrl) are not returned when listing sessions in a folder. To get these properties, you can get the specific session by Id using the Sessions API.'
      operationId: Folders_GetSessions
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      - name: sortField
        in: query
        x-schema:
          $ref: '#/components/schemas/SessionSortFields'
        schema:
          type: string
          enum:
          - Name
          - CreatedDate
          - Relevance
          default: Name
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfSession'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
  /api/v1/folders/{id}/sessions/search:
    get:
      tags:
      - Folders
      summary: Search for sessions within this folder
      description: 'To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.


        **Note:** This endpoint does not return all available properties for a session. The CreatedBy and Urls properties (except the ViewerUrl) are not returned when listing sessions in a folder. To get these properties, you can get the specific session by Id using the Sessions API.'
      operationId: Folders_SearchSessionsInFolder
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      - name: searchQuery
        in: query
        required: true
        schema:
          type: string
      - name: sortField
        in: query
        x-schema:
          $ref: '#/components/schemas/SessionSortFields'
        schema:
          type: string
          enum:
          - Name
          - CreatedDate
          - Relevance
          default: Name
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfSession'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
  /api/v1/folders/{id}/playlists:
    get:
      tags:
      - Folders
      summary: Get a list of playlists in the given folder
      description: 'To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.


        **Note:** This endpoint does not return all available properties for a playlist. The Urls property (except the ViewerUrl) is not returned when listing playlists in a folder. To get these properties, you can get the specific playlist by Id using the Playlists API.'
      operationId: Folders_GetPlaylists
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      - name: sortField
        in: query
        x-schema:
          $ref: '#/components/schemas/PlaylistSortFields'
        schema:
          type: string
          enum:
          - Name
          - CreatedDate
          - Relevance
          default: Name
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfPlaylist'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
  /api/v1/folders/{id}/settings/access:
    get:
      tags:
      - Folders
      summary: Get the access settings for the given folder
      operationId: Folders_GetAccessSettings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSettings'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
    put:
      tags:
      - Folders
      summary: Update the access settings for the given folder
      description: If setting IsInherited to true, the access Level is ignored. Inheritance can not be set on a top-level folder.
      operationId: Folders_UpdateAccessSettings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessSettings'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessSettings'
  /api/v1/folders/{id}/settings:
    get:
      tags:
      - Folders
      summary: Get the folder settings for the given folder
      operationId: Folders_GetSettings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderSettings'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
    put:
      tags:
      - Folders
      summary: Update folder settings for a specified folder
      description: This endpoint currently only supports updating the caption provider instance
      operationId: Folders_UpdateSettings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderSettings'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderSettings'
  /api/v1/folders/{id}/permissions:
    get:
      tags:
      - Folders
      summary: Get the user and group permissions for the given folder
      description: To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.
      operationId: Folders_GetPermissions
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfPermission'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
    post:
      tags:
      - Folders
      summary: Create a folder permission by assigning a role to a user or group
      description: This operation is only supported when access is not inherited.
      operationId: Folders_CreatePermission
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionCreate'
    delete:
      tags:
      - Folders
      summary: Remove permission from the folder
      description: This operation is only valid for non-inherited permissions. If role type and role id are omitted, all non-inherited permissions for the principal will be removed.
      operationId: Folders_DeletePermission
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: guid
      - name: RoleId
        in: query
        description: Id of the role to remove from the user or group. Required when RoleType is null or None.
        schema:
          type: string
          format: guid
      - name: RoleType
        in: query
        description: Type of the role to remove from the user or group. Required when RoleId is null.
        x-schema:
          $ref: '#/components/schemas/BuiltInRoleType'
        schema:
          type: string
          enum:
          - None
          - Viewer
          - Creator
          - Publisher
      - name: PrincipalId
        in: query
        description: Id of the user or group from which the role is being removed.
        schema:
          type: string
          format: guid
      - name: PrincipalType
        in: query
        description: Type of principal, either a user or group.
        x-schema:
          $ref: '#/components/schemas/PrincipalType'
        schema:
          type: string
          enum:
          - User
          - Group
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionDelete'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
        '404':
          description: The requested folder or share was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
  /api/v1/folders:
    post:
      tags:
      - Folders
      summary: Create a new folder
      operationId: Folders_CreateFolder
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderCreate'
  /api/v1/folders/search:
    get:
      tags:
      - Folders
      summary: Search for folders based on a keyword
      description: To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.
      operationId: Folders_SearchForFolders
      parameters:
      - name: searchQuery
        in: query
        required: true
        schema:
          type: string
      - name: canCreate
        in: query
        description: Set to true to only return folders where the user has permission to create sessions.
        schema:
          type: boolean
          default: false
      - name: sortField
        in: query
        x-schema:
          $ref: '#/components/schemas/FolderSortFields'
        schema:
          type: string
          enum:
          - Name
          - Relevance
          default: Relevance
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfFolder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
  /api/v1/folders/creator:
    get:
      tags:
      - Folders
      summary: Lists all the folders the user is a creator in
      description: To fetch all elements, this endpoint can be called multiple times, starting at pageNumber = 0 and incrementing the page number until no results are returned.
      operationId: Folders_GetCreatorFoldersList
      parameters:
      - name: sortField
        in: query
        x-schema:
          $ref: '#/components/schemas/FolderSortFields'
        schema:
          type: string
          enum:
          - Name
          - Relevance
          default: Relevance
      - name: sortOrder
        in: query
        x-schema:
          $ref: '#/components/schemas/SortOrder'
        schema:
          type: string
          enum:
          - Asc
          - Desc
          default: Asc
      - name: pageNumber
        in: query
        description: Page numbering starts at 0
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseOfFolder'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: User does not have permission to access this function
        '401':
          description: The user is not authorized to perform the requested action
components:
  schemas:
    AccessSettings:
      type: object
      required:
      - IsInherited
      - Level
      properties:
        IsInherited:
          type: boolean
          description: Indicates whether or not the access settings are inherited.
        Level:
          description: Indicates the level of access set for this item.
          $ref: '#/components/schemas/AccessLevel'
    ListResponseOfFolder:
      type: object
      properties:
        Results:
          type: array
          description: The list of results from the API call
          items:
            $ref: '#/components/schemas/Folder'
    SortOrder:
      type: string
      description: ''
      x-enumNames:
      - Asc
      - Desc
      enum:
      - Asc
      - Desc
    AccessLevel:
      type: string
      description: ''
      x-enumNames:
      - Restricted
      - OrganizationUnlisted
      - Organization
      - PublicUnlisted
      - Public
      enum:
      - Restricted
      - OrganizationUnlisted
      - Organization
      - PublicUnlisted
      - Public
    Folder:
      type: object
      properties:
        Id:
          type: string
          format: guid
        Name:
          type: string
        Description:
          type: string
        ParentFolder:
          $ref: '#/components/schemas/BasicFolder'
        Urls:
          $ref: '#/components/schemas/FolderUrls'
    SessionUrls:
      type: object
      properties:
        ViewerUrl:
          type: string
          description: The URL to view this session in Panopto
        EmbedUrl:
          type: string
          description: The URL to an embedded version of this session
        ShareSettingsUrl:
          type: string
        DownloadUrl:
          type: string
          description: The URL to download this session. This URL is intended for one-time download only, and is not appropriate for direct streaming or playback. May be blank if not allowed.
        AudioDescriptionDownloadUrl:
          type: string
        CaptionDownloadUrl:
          type: string
          description: The URL to download captions for this session, if available.
        EditorUrl:
          type: string
          description: The URL to edit this session in Panopto, if you are a creator.
        ThumbnailUrl:
          type: string
          description: The URL to retrieve the thumbnail for this session
    PrincipalType:
      type: string
      description: ''
      x-enumNames:
      - User
      - Group
      enum:
      - User
      - Group
    PermissionDelete:
      type: object
      required:
      - PrincipalId
      - PrincipalType
      properties:
        RoleId:
          type: string
          description: Id of the role to remove from the user or group. Required when RoleType is null or None.
          format: guid
        RoleType:
          description: Type of the role to remove from the user or group. Required when RoleId is null.
          $ref: '#/components/schemas/BuiltInRoleType'
        PrincipalId:
          type: string
          description: Id of the user or group from which the role is being removed.
          format: guid
        PrincipalType:
          description: Type of principal, either a user or group.
          $ref: '#/components/schemas/PrincipalType'
    ListResponseOfSession:
      type: object
      properties:
        Results:
          type: array
          description: The list of results from the API call
          items:
            $ref: '#/components/schemas/Session'
    ListResponseOfPermission:
      type: object
      properties:
        Results:
          type: array
          description: The list of results from the API call
          items:
            $ref: '#/components/schemas/Permission'
    APIError:
      type: object
      properties:
        Error:
          description: Error result returned if an error occurs in Panopto, otherwise null or missing
          $ref: '#/components/schemas/APIErrorInternal'
    PermissionCreate:
      type: object
      required:
      - PrincipalId
      - PrincipalType
      properties:
        RoleId:
          type: string
          description: Id of the role to assign to the user or group. Required when RoleType is null or None.
          format: guid
        RoleType:
          description: Type of the role to assign to the user or group. Required when RoleId is not set.
          $ref: '#/components/schemas/BuiltInRoleType'
        PrincipalId:
          type: string
          description: Id of the user or group to which the role is being assigned.
          format: guid
        PrincipalType:
          description: Type of principal, either a user or group.
          $ref: '#/components/schemas/PrincipalType'
    FolderSortFields:
      type: string
      description: ''
      x-enumNames:
      - Name
      - Relevance
      enum:
      - Name
      - Relevance
    PlaylistSortFields:
      type: string
      description: ''
      x-enumNames:
      - Name
      - CreatedDate
      - Relevance
      enum:
      - Name
      - CreatedDate
      - Relevance
    PlaylistUrls:
      type: object
      properties:
        ViewerUrl:
          type: string
          description: The URL to view this playlist in Panopto
        EmbedUrl:
          type: string
          description: The URL to an embedded version of this playlist
        ThumbnailUrl:
          type: string
          description: The URL to retrieve the thumbnail for this playlist
    FolderUrls:
      type: object
      properties:
        FolderUrl:
          type: string
          description: The URL to open this folder in Panopto
        EmbedUrl:
          type: string
          description: The URL to an embedded version of this folder
        ShareSettingsUrl:
          type: string
          description: The URL to change how this folder is shared. May be blank if permission is not granted.
    Principal:
      type: object
      required:
      - Type
      properties:
        Id:
          type: string
          description: The unique id that represents this principal.
          format: guid
        Type:
          description: Type of the principal, either a user or group.
          $ref: '#/components/schemas/PrincipalType'
    FolderCreate:
      type: object
      properties:
        Name:
          type: string
          description: The name of the new folder.
        Description:
          type: string
          description: The description of the new folder.
        Parent:
          type: string
          description: Optional Id of the parent folder to create this under. The folder must already exist, and you must have create permission on the target folder.
          format: guid
    Session:
      type: object
      required:
      - Folder
      properties:
        Id:
          type: string
          format: guid
        Name:
          type: string
        Description:
          type: string
        StartTime:
          type: string
          format: date-time
        Duration:
          type: number
          description: The duration of the session (in seconds)
          format: double
        MostRecentViewPosition:
          type: number
          format: double
        CreatedBy:
          $ref: '#/components/schemas/User'
        Urls:
          $ref: '#/components/schemas/SessionUrls'
        Folder:
          type: string
          format: guid
        FolderDetails:
          $ref: '#/components/schemas/BasicFolder'
        Context:
          type: array
          items:
   

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/panopto/refs/heads/main/openapi/panopto-folders-api-openapi.yml