Welcome to the Panopto Community

Please note: All new registrants to the Panopto Community Forum must be approved by a forum moderator or admin. As such, if you navigate to a feature that is members-only, you may receive an error page if your registration has not yet been approved. We apologize for any inconvenience and are approving new members as quickly as possible.

API for integrating ai tutoring features

Hello Panopto,

We would like to integrate AI tutoring features into our on-prem Panopto, and would like to access some Panopto features through api, can you provide some information?

  1. api to access Panopto sessions on folder level
  2. asr
  3. ocr results
  4. level of access ( creator/viewer etc)

thanks.

Sherry

Answers

  • Hi Sherry,
    Here are details around this, I hope they are helpful.

    Sessions on Folder Level

    GET /api/v1/folders/{folderId}/sessions
    Parameters: sortField, sortOrder, pageNumber
    Returns: Paginated list of Session objects

    ASR /OCR Results
    Not directly accessible via public API - ADR/OCR contributes to internal search index but cannot be extracted

    Access Levels
    Session permissions:

    GET /api/v1/sessions/{id}/permissions
    POST /api/v1/sessions/{id}/permissions
    DELETE /api/v1/sessions/{id}/permissions

    Folder permissions:
    GET /api/v1/folders/{id}/permissions
    POST /api/v1/folders/{id}/permissions
    DELETE /api/v1/folders/{id}/permissions

    Roles: Viewer, ViewerWithLink, Creator, Publisher

    Authentication
    OAuth2 access tokens required for all endpoints

    Documentation
    https://demo.hosted.panopto.com/Panopto/Api/Docs/index.html

    I hope this helps.

    Let me know if there are any other questions.

    Thanks,

    Adis

  • Sherry WeiSherry Wei Tyro
    edited January 21

    Hi Adis,

    Thanks for your reply. I checked on the page you mentioned, and for smart chapters I cannot find the public api either. I guess this is for internal index only, too. Is it correct?

    And how to integrate a 3rd party application to on-prem Panopto? Is there any details?

    thanks.

    regards

    Sherry

  • Hi Sherry,

    Yes that is correct. Can you give me more details about what 3rd party application you would want to integrate so I can understand your potential workflow a little better and possibly offer some guidance.

    Thanks,

    Adis

  • Hi Adis,

    My intention would be allowing AI to read the teaching recordings (ideally ai can read source files, asr and slides from Panopto directly and users wont need to upload), and AI can help summarize, generate outline and knowledge graph(of course teacher can monitor and edit the generated content), students can ask questions and AI will be able to answer or point out where in the session students can find the explanation.

    looking forward to your guidance.

    regards

    Sherry

  • Hi Sherry,

    I think the best way you can do now to support this is to try to download transcripts from videos, which AI can then process and that would contain enough data for summarization and knowledge about the video.
    I think most of the videos have automated captions generated which you can download with the API.

    I hope this helps.

    Thanks,

    Adis

  • hi Adis,

    We were testing api, but got unauthorized client error message. Any suggestions? thanks.

    regards

    Sherry

  • Hi Sherry,

    Did you follow the guide from https://support.panopto.com/s/article/api-0 for Authentication?
    Let me know how do you use it, how did you create a client so I can help more.

    Thanks,

    Adis

  • 3d1ae26b5a208e95b36733de910f307d.png

    Hi Adis,

    Please see above screenshot. Only for testing. and the return value is unauthorized_client.

    regards

    Sherry

  • Adis HrnjicaAdis Hrnjica Whiz Kid
    edited January 22

    Hi Sherry,

    That error means the OAuth client key/secret pair is not recognized by the server you’re calling. Most common causes:

    • Wrong client key/secret in the Basic auth header (or swapped key/secret).
    • Bad Basic header encoding: must be base64(clientKey:clientSecret) with a single colon.
    • Using a user API key instead of an OAuth client.

    I would do the following:

    1. Rebuild the header as base64(clientKey:clientSecret) (single colon).
    2. Ensure the request includes:
    • Content-Type: application/x-www-form-urlencoded
    • body: grant_type=client_credentials&scope=API

    I hope this helps.

    Thanks,

    Adis

  • Sherry WeiSherry Wei Tyro
    edited January 26

    hi Adis,

    Is the server address I put in the line valid? I'm not sure if unnc.ap.panopto.com permits this action. I tried in powershell and postman, both got the same error message. I recreated an api client, the same. I'm not sure where it went wrong.

    regards

    Sherry

  • Adis HrnjicaAdis Hrnjica Whiz Kid
    edited January 26

    Hi Sherry,

    Please follow the outlined steps:
    1. Create a new API client, with Client Type = Server Application
    2. Take client id and secret

    Here is how to set it up in Postman:

    Step 1: Set up the Request

    1. Open Postman and create a new POST request.
    2. Enter the URL: https://unnc.ap.panopto.com/Panopto/oauth2/connect/token

    Step 2: Configure Authorization

    1. Go to the Authorization tab
    2. Select Type: Basic Auth
    3. Username: Paste your Panopto Client ID
    4. Note: Postman will automatically convert these into the Authorization: Basic [Base64] header you saw in your curl code.

    Step 3: Configure the Body

    1. Go to the Body tab.
    2. Select the x-www-form-urlencoded radio button.
    3. Add the following Key-Value pairs:

    Key

    Value

    grant_type

    client_credentials

    scope

    api

    Step 4: Send the Request

    Click Send. You should receive a JSON response that looks like this:

    JSON

    {    "access_token": "eyJhbGciOiJSUzI1...",    
    "expires_in": 3600,
    "token_type": "Bearer"
    }

    I hope this helps.

    Thanks,

    Adis

Sign In or Register to comment.