Authentication
Every API call requires an authentication token as part of the body or query of the request. When logged in, your token can be found by clicking on the Panorama browser extension. In your request, please label this parameter as an authentication Token.
Transport and Encoding
The current API only supports the JSON data format. It is recommended to specify the application/json as the accepted header, but it is not required.
API Base URL
The base URL for the Panorama API is dependent on which zone your institution is registered in. If you are unsure which zone your institution is in, please contact your Customer Success Manager. For security protocols, only https access is allowed.
United States Zone: https://panorama.yuja.com/api
Canadian Zone: https://panorama-cz.yuja.com/api
European Zone: https://panorama-ez.yuja.com/api
Rest API Response Codes
Status Code | Meaning |
200 | OK |
201 | Created |
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
502 | Bad Gateway |
Models
The Panorama API is broken down into several models, each representing a different entity, such as courses or documents. The models below may not include all fields available and instead show only the core fields of that model.
1 - User Model API Overview
The User model represents all individuals who are associated with the access token provided or are part of the institution.
1.1 - User Models Core
Variable | Type | Description |
userId | string |
A unique userId that is generated by the system. |
lmsUserId | string | The userId your lms has generated for the user. |
email_address | string | The email address of the user. |
role | string | The system role of the user. |
locked | boolean | Whether the system role for this user is locked or not. |
1.2 - Main Endpoints
Method | Path | Description | Access Level Required |
GET | /user/getUser | Retrieves the current user associated with the access token provided. | Student |
GET | /user/getPaginatedUsers | Retrieves an array of users in your institution. | Administrator |
1.2.1 - GET /user/getUser
Retrieves the current user associated with the access token provided.
Example URL: https://panorama.yuja.com/api/user/getUser
Parameter:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tvc"}
1.2.2 - GET /user/getPaginatedUsers
Retrieves an array of users in your institution.
Example URL: https://panorama.yuja.com/api/user/getPaginatedUsers
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
page |
integer |
The page to start on (starts at 1). |
pageSize |
integer |
The number of records to receive on each page. |
Example JSON Request:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
2 - Sub-Account Model API Overview
The sub-account model represents all sub-accounts available to the individual accessing the API.
2.1 - Sub-Account Model Core
Variable |
Type |
Description |
---|---|---|
subAccountId |
string |
A unique subAccountId that is generated by the system. |
parentSubAccountId |
string |
A unique subAccountId that is generated by the system for the subAccount’s parent subAccount. |
lmsSubAccountId |
string |
The subAccountId your lms has generated for the sub-account. |
lmsParentSubAccountId |
string |
The subAccountId your lms has generated for the sub-accounts parent sub-account. |
name |
string |
The name of the sub-account. |
2.2 - Main Endpoints
Method |
Path |
Description |
Access Level Required |
---|---|---|---|
GET |
/subAccount/getPaginatedSubAccounts |
Retrieves a list of sub-sccounts in your institution that you have access to. |
Sub-Administrator |
2.2.1 - GET /subAccount/getPaginatedSubAccounts
Retrieves a list of sub-accounts in your institution that you have access to.
Example URL: https://panorama.yuja.com/api/subAccount/getPaginatedSubAccounts
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
page |
integer |
The page to start on (starts at 1). |
pageSize |
integer |
The number of records to receive on each page. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
3 - Term Model API Overview
The Term Model represents all terms available to the individual accessing the API.
3.1 - Term Model Core
Variable |
Type |
Description |
---|---|---|
termId |
string |
A unique termId that is generated by the system. |
lmsTermId |
string |
The termId your lms has generated for the term. |
name |
string |
The name of the sub-account. |
start |
Date |
The term start date. |
end |
Date |
The term end date. |
3.2 - Term model Main Endpoints
Method |
Path |
Description |
Access Level Required |
---|---|---|---|
GET |
/term/getPaginatedTerms |
Retrieves an array of Terms in your institution. |
Instructor |
3.2.1 - GET /term/getPaginatedTerms
Example URL: https://panorama.yuja.com/api/term/getPaginatedTerms
Retrieves an array of Terms in your institution.
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
page |
integer |
The page to start on (starts at 1). |
pageSize |
integer |
The number of records to receive on each page. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
4 - Institution Model API Overview
The Institution Model retrieves information administrators, and sub-admins have access to, such as Institution Reports, Content Reports, and Issues Reports.
4.1 - Institution Model Core
Variable |
Type |
Description |
---|---|---|
institutionId |
string |
A unique institutionId that is generated by the system. |
lmsType |
string |
The type of lms associated with the institution (e.g. Canvas). |
name |
string |
The institution’s name. |
primaryIdentifierKey |
string |
A unique identifier key that is generated by the system. |
secondaryIdentifierKey |
string |
A unique secondary identifier key that is generated by the system. |
consumerKey |
string |
A unique key generated by the system to be used for LTI 1.1. |
ltiSecret |
string |
A unique key generated by the system to be used for LTI 1.1. |
clientId |
string |
The client Id associated with the institution. Used for LTI 1.3. |
deploymentId |
string |
The deployment Id associated with an LTI deployment. Used for LTI 1.3. |
iss |
string |
The issuer associated with the institution. Used for LTI 1.3. |
OIDCEndpoint |
string |
The OIDC endpoint for the institution. Used for LTI 1.3. |
JWKSEndpoint |
string |
The JWKS endpoint for the institution. Used for LTI 1.3. |
domain |
string |
The domain of the institution. |
lmsAPILink |
string |
The API endpoint associated with the institution. |
accessToken |
string |
The access token of the institution. Used for API requests to the institution. |
4.2 - Institution Model Main Endpoints
Method |
Path |
Description |
Access Level Required |
---|---|---|---|
GET |
/institution/getInstitutionInformation |
Retrieves information about the institution associated with the requestor. |
Administrator |
GET |
/institution/exportInstitutionReport |
Downloads an accessibility report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to. |
Sub-Administrator |
GET |
/content/exportContentReportData |
Downloads a content report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to. |
Sub-Administrator |
GET |
/issue/exportIssuesReport |
Downloads the Issues Report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to. |
Sub-Administrator |
4.2.1 - GET /institution/getInstitutionInformation
Retrieves information about the institution associated with the requestor.
Example URL: https://panorama.yuja.com/api/institution/getInstitutionInformation
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc"}
4.2.2 - GET /institution/exportInstitutionReport
Downloads an accessibility report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to.
Example URL: https://panorama.yuja.com/api/institution/exportInstitutionReport
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
subAccountId |
string |
The subaccount Id you would like to filter the report by. Optional. |
termId |
string |
The term Id you would like to filter the report by. Optional. |
4.2.3 - GET /content/exportContentReportData
Downloads a content report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to.
ExampleURL: https://panorama.yuja.com/api/content/exportContentReportData
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
subAccountId |
string |
The subaccount Id you would like to filter the report by. Optional. |
termId |
string |
The term Id you would like to filter the report by. Optional. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","subAccountId": "21a6a8d8-a609-4d60-ab21-9eba9003bb65","termId": "61450295d546b0b925a2a7c4"}
4.2.4 - GET /issue/exportIssuesReport
Downloads the Issues Report for the associated institution. Can be filtered by sub-accounts and terms the requestor has access to.
Example URL: https://panorama.yuja.com/api/issue/exportIssuesReport
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
subAccountId |
string |
The sub-account Id you would like to filter the report by. Optional. |
termId |
string |
The term Id you would like to filter the report by. Optional. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","subAccountId": "21a6a8d8-a609-4d60-ab21-9eba9003bb65","termId": "61450295d546b0b925a2a7c4"}
5 - Course Model API Overview
The Course model retrieves courses and course reports
5.1 - Course Model Core
Variable |
Type |
Description |
---|---|---|
contextId |
string |
The course Id your lms has generated for the course. |
name |
string |
The name of the course. |
5.2 - Course Model Main Endpoints
Method |
Path |
Description |
Access Level Required |
---|---|---|---|
GET |
/course/getPaginatedCourses |
Retrieves an array of courses in your institution that you have access to. |
Instructor |
GET |
/course/exportCourseReport |
Downloads a course report for the associated course. |
Administrator |
5.2.1 - GET /course/getPaginatedCourses
Retrieves an array of courses in your institution that you have access to.
Example URL: https://panorama.yuja.com/api/course/getPaginatedCourses
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
page |
integer |
The page to start on (starts at 1). |
pageSize |
integer |
The number of records to receive on each page. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","page": 2,"pageSize": 10}
5.2.2 - GET /course/exportCourseReport
Downloads a course report for the associated course.
Example URL: https://panorama.yuja.com/api/course/exportCourseReport
Parameters:
Name |
Type |
Description |
---|---|---|
authenticationToken |
string |
The user’s authentication token. Used for authenticating the request. |
contextId |
string |
The contextId of the course you would like to get the report of. |
Example JSON Data:
{"authenticationToken": "1129c18a-eb75-4a11-8ccc-566646f94tcc","contextId": "202"}