Q: How can I access account & class information via PowerSchool Learning's REST API?
A: Not only can you import data from your SIS of choice into PowerSchool Learning via our API, you can also read information about accounts, rosters, classes, and some class content using the same API. In fact, you can even read information about accounts, classes, etc that were not imported, using PowerSchool Learning's API.
To enable PowerSchool Learning's API for your domain, please contact your account manager or your Integration Advisor. Tell them the name of your school or organization, let them know that you would like to have the API turned on, and explain what you might use the API for.
Once enabled, you can view your API keys and access token information using the following steps:
- Sign in to PowerSchool Learning using your admin account.
- From the Domain Control area, click the Manage Domain menu & choose the Settings option.
- Click the Import API tab.
On this screen you will see "OAuth Service Information" as well as a series of "OAuth Access Tokens", one for each admin. To use the API you will need to decide which user's Access Token information to use.
Important! Treat the values on this screen as if they were your admin password. That means we recommend not emailing these values. To more securely send these values to another user you might consider creating a temporary, private PowerSchool Learning class containing the values & then adding the recipient as a student or co-teacher to the class, or emailing a password-protected PDF or ZIP containing the values.
Q: Which account's Access Token should we use?
A1: Since access to PowerSchool Learning's API happens using the Access Token of a specific account, it's best to create a new admin account specifically for API access. That way, if you have turn-over in your domain's IT staff, and disable or delete the PowerSchool Learning admin account who's Access Token was being used, the applications using PowerSchool Learning's API will not lose access. You don't even need to store the password for this account since access to the account will happen via the OAuth information, not via your traditional login page.
A2: If you plan to use the API keys with a 3rd party company or service, it's best to create a new admin account specifically for that company. That way, if you ever want to cut off access to that specific company, you can disable or delete their admin account which will also block access to your PowerSchool Learning data via the API. You shouldn't tell the 3rd party the password for this account since access to the account will happen via the OAuth information, not via your traditional login page.