scheduledRecordings endpoints: Access issue
We have a number of folks using the Panopto APIs in individual departments at Duke, and they use Departmental Admin accounts to manage that work. One of those groups found recently that these 4 endpoints in the Scheduled Recordings API are returning 403 messages:
GET /api/v1/scheduledRecordings/{id}
Get the scheduled recording information for a session
PUT /api/v1/scheduledRecordings/{id}
Update the start or end time of a scheduled recording
DELETE /api/v1/scheduledRecordings/{id}
Cancel a scheduled recording
POST /api/v1/scheduledRecordings
Create a new scheduled recording
Can someone clarify if this is a bug, or something that could be addressed without assigning full site admin access for the account? If not, we'd also like to know whether the work being done right now to expand the APIs might address this need.
Answers
As an example of what happens when I try to POST, using our service account:
# POST /Panopto/api/v1/scheduledRecordings
def post_scheduled_recording(self, data:dict) -> list:
api_url = PanoptoCredentialsService.get_endpoint(self.config, "/Panopto/api/v1/scheduledRecordings")
headers = PanoptoCredentialsService.get_headers(self.config)
params = {"resolveConflicts": "false"}
try:
response = requests.post(api_url, headers=headers, params=params, json=data, timeout=30)
except Exception as e:
self.logger.error(str(e))
self.logger.info(str(response))
self.logger.info(f"{response.status_code} {response.text}")
2026-10-08 12:39:00,484 INFO panopto_scheduler_service.py post_scheduled_recording 108: <Response [401]>
2026-10-08 12:39:00,484 INFO panopto_scheduler_service.py post_scheduled_recording 109: 401 {"Error":{"ErrorCode":"","Message":"Not authorized on recorder f9dbf79d-869d-4d64-af4d-b1d400513be3","Success":false,"ErrorSource":null}}