Campus Labs Application Programming Interface FAQs
What type of API does Campus Labs provide?
How are the Campus Labs APIs secured?
Does Campus Labs API directly integrate with Jenzabar, Blackboard, Moodle, etc.?
How do I gain access to your API?
How many keys should I create for my Campus Labs APIs?
What is the request size limit of the Campus Labs API?
What is the rate limit for the Campus Labs API?
Instructions to import Accounts, Courses or Demographics data through the Campus Labs API
API endpoints
A more advanced method, requiring proficient campus IT professionals, allows both bulk and individual field loading of data to the platform via secure, scheduled transactions over the internet. Each data type endpoint offers the ability to create, retrieve, or update the data. This additional, fine-toothed control of each data type offers institutions ultimate flexibility in the delivery and management of Core Data in the platform.
Use of the Campus Labs API is not required to implement the platform. Campus Labs assumes that institutions that select this method have prior experience in programming against/with web services and API endpoints. Accordingly, Campus Labs does not offer support or training for IT professionals who are not proficient with these concepts and/or techniques.
Campus Labs Application Programming Interface FAQs
Overview
The Campus Labs platform makes several application programming interface (API) endpoints available to institutional developers who wish to interact and integrate with the data within the platform. Often, campus developers have basic questions about the Campus Labs API prior to reading in-depth documentation. This document is a collection of frequently asked questions that should guide campus developers in the appropriate use of the Campus Labs API.
If you are creating an API for a Canadian institution please contact your consultant or technical implementation specialist for Canadian API endpoints.
Campus Labs API (Multiple Products)
What is an API?
An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types.
What type of API does Campus Labs provide?
Campus Labs provides a set of REST-like APIs to allow programmatic access for reading and writing data. REST (Representational State Transfer) is an architectural style, and an approach to communications that is often used in the development of Web services.
How are the Campus Labs APIs secured?
In order to maintain data security, an OAuth 2.0-based authorization token is required to make calls to the API.
To programmatically generate and receive an OAuth token, you must make a POST call to https://authorization.campuslabs.com/token and send the following three parameters in the BODY of the request (not appending to the URL which won't keep the information secure):
- grant_type=client_credentials
- client_id=XXXXX
- client_secret=YYYYY
...where XXXXX and YYYYY are the actual ID and secret values you just generated in our Key Management interface.
Once your code receives the OAuth token you will send that in the HEADER of your initial call to the desired API endpoint with the name "Authorization" and the word "Bearer" and then a space appended to the front of the token string itself (e.g. "Bearer {token string}").
Tokens are valid for up to 60 minutes. Making a new call will refresh the expiration period for your token. When when you want to use that token to make subsequent calls to a given endpoint (i.e., for retrieving successive pagination of results), you will still include the token as a HEADER value.
For more information on the workflow for getting an OAuth token, please see the OAuth 2.0 documentation for "Obtaining Authorization".
Does Campus Labs API directly integrate with Jenzabar, Blackboard, Moodle, etc.?
While Campus Labs integrates with third-party providers in many aspects of our system, our API doesn't natively integrate with any specific provider. We wanted to make it flexible for all of our member campuses to send data in whatever method works best for them.
How do I gain access to your API?
Campus developers who wish to access the API must be pre-approved by Campus Labs.
Developers may be added to the approved list by having the official campus contact, who is responsible for your license, send the following information for each developer to the Support Team (support@campuslabs.com):
- Full name
- Unique identifier (as collected by the platform)
- Campus email address
Once approved, developers may manage their own access keys at: https://{campus}.campuslabs.com/keymanagement (where {campus} is the name/host of your institution's Campus Labs installation).
How many keys should I create for my Campus Labs APIs?
While you aren't required to create more than one key in your Key Management site, having more than one key will make it easier if something changes for you. By creating multiple keys, you won't be required to fix all of your API calls if something changes on your and end up losing your Client Secret key.
What is the request size limit of the Campus Labs API?
All APIs support a maximum request size of 4MB. Requests over this size will be rejected in their entirety and should be broken down into smaller batches for processing. The overall request size depends on the data set in question and is a factor of both the number of elements included in the call and the amount of data in each one. Both of these dimensions should be taken into account when deciding on batch size.
What is the rate limit for the Campus Labs API?
There are limits that we suggest to follow that can be found on this site:
https://docs.api.campuslabs.com
Instructions to import Accounts, Courses or Demographics data through the Campus Labs API
- Before importing a single record, please contact support@campuslabs.com with your campuses main contact to request access to the Key Management site.
- Campus Labs will set up your account and allow you to create keys through your Key Management site.
- Once your account is set up, please visit https://{campus}.campuslabs.com/keymanagement (where {campus} is the name/host of your institution's Campus Labs installation);
- Click "Add Key".
- Put in a name for the key you are creating.
- The Description/Comments section is optional.
- Under "Function", select "Read/Write"
- Under "Access" select the appropriate radio button for each set of end point you need access to.
- For Accounts, select "People"
- For Courses, select "Courses"
- For Demographics, select "People"
- Click the "Add" button.
- The page will refresh and you will be provided your Client ID, Subscription Key and Client Secret. This is the only time you will be able to see your Client Secret. Much like a password, the Secret is encrypted and stored in a way that prevents future retrieval in an unencrypted form. Please copy this information and save it in a safe place. If necessary, the Secret can be reset by returning to the Key Management site.
4. Use your access keys to make a POST call to our authorization server (https://authorization.campuslabs.com/token), and get an OAuth 2.0-based authorization token. This token will be used to make API calls.
**Tokens are valid for up to 60 minutes. Making a new call will refresh the expiration period for your token. If you are not familiar with the workflow for getting an OAuth token, please see the OAuth 2.0 documentation for “Obtaining Authorization”.
Access the API endpoints here.
Comments