To provide a campus wide API solution to securely provide data through standardize interfaces for all campus members and associated entities. To create a centralized access point where API providers can list data services they provide and find data services they larger community can consume. To ensure data security through clearly documented, standardized, accessible and actionable policies and best practices. To cultivate a forum where data can be used to service and extend the many aspects of research, development, and business needs of the campus.
API Roadmap
API
Description
Status
Start
Estimated Completion
Graduate Division Applicants Status
Authenticate and query for graduate student applicant data. Useful for housing process for new grad students
Power BI Active Directory Management API
Insert users in Power BI AD groups to assign Power BI access.
Status
colour
Yellow
title
In progress
Curriculum Space Available
Provide the space available for each section. This will prevent people from calling the curriculum API just to get the space available.
Status
colour
Grey
title
proposed
Curriculum Finals
Include course finals information in the curriculum API. Requested by the GoGaucho team.
Status
colour
Grey
title
proposed
Curriculum Prerequisites
Include course prerequisites in the curriculum API. Requested by a student.
Status
colour
Grey
title
proposed
Curriculum instructor employee numbers
Nectir has requested an API that returns the instructor employee numbers for each class. The current curriculums API returns the instructor name, but not the id. For this reason Gaucho Space cannot use the curriculums API either.
Status
colour
Grey
title
proposed
Employee
Employee name and appointment type information
Status
colour
Green
Grey
title
in progress
proposed
TA Verification
API to verify how many quarters a person has been a TA. Requested by Academic Senate IT
Status
colour
Grey
title
proposed
Parking Structure Free Spaces Information
Retrieve the number of free spaces in a parking structure
Status
colour
Grey
title
proposed
Identity Provisioning/Deprovisioning Records
Retrieve list of identities which have had a lifecycle event status change. Provisioning Events: Record creation, addition of an affiliation. Deprovisioning Events: Record "soft" deletion, removal of an affiliation.
Status
colour
Grey
title
proposed
Housing Properties
List of places where students, faculty, staff can live
Do they live here? And, where do they live? There is a need to feed student residence into the SIS Gaucho Blue. There is also need to verify student residency one student at a time for some of the Housing needs.
Status
title
proposed
Employee Photos
Return the Access Card photos for employees by the UCPath employee ID. It will include the photo hash as well. On hold due to HR concerns.
Apigee's "Companies" (ie. Teams) feature is a plugin for the Drupal portal with tie-ins to the API Gateway backend. It will allow developers to create Teams, and associate the applications they create with their Teams, rather than themselves.
On an annual basis we would like to review the accounts we have in the system in order to remove accounts that should no longer be active and reduce our security risk profile. To do this we will want to check what accounts are not in active use or their owners are no longer affiliated with the University.
Better integrate the API security model with the Campus IdM Team's security model. Look at creating service accounts at the campus level and managing their access through the gateway within https://developer.ucsb.edu.
An automated task which will monitor access requests from users to auto-approve particular APIs and send Access Request information about restricted APIs.
Status
colour
Yellow
title
researching
@apibot - Reporting
Generate reports on API Usage, Access Violations, and Errors.
Status
colour
Yellow
title
researching
Statuspage.io Integration
Have a Statuspage to show the availability and history of the APIs and overall system. Similar to SA's statuspage.
Status
colour
Grey
title
wish list
Client Library Reference Architecture
Build a client library that demonstrates how to use the API Key and UCSB Net ID/password combination to retrieve data. This project should be hosted in Github and if possible, a build should be hosted on a public repository (nuget).
An extension to drupal which will look at an new account creation. Given a simple set of rules some account requests should be able to be auto-denied. Maybe some can also be auto approved.
Status
colour
Yellow
title
researching
Account review process
Develop a process to review API access permissions on a regular basis and terminate access as needed.
Completed
Project
Summary
Status
Start
Completion
Student Email Address BARC
Return students with changes to the email address in the last x number of days.
Status
colour
Blue
title
completed
Academic Quarter Calendar BARC
Retrieve quarter-calendar records in a format specific to BARC.
Return the student or employee Access card photos by perm or UCPath employee ID (the Fusion padded ID).
Status
colour
Blue
title
completed
Housing Contract Admissions Status
What status the students housing contract is in
Status
colour
Blue
title
completed
@apibot - Javascript Conversion
Take the existing functionality of @apibot and convert it from Powershell to Javascript. Move hosting of the bot on the Google Cloud Platform. Develop a workflow that multiple people can develop scripts for it at the same time. Create a CI/CD deployment chain to ensure successful updates.
Create a new workflow to improve requesting access to an API. The workflow should capture information about the application and the approveral which can be referenced later on for auditing purposes.
Status
colour
Blue
title
completed
Workflow - Publish a New API
Install a workflow system into the Drupal portal and developer a "Publish a New API (for Data/API Providers)" workflow.
Status
colour
Blue
title
completed
API - Registrar Courses & Student Schedule Public Service
Use a monitoring system to make sure we are notified when an API is unavailable.
Status
colour
Blue
title
completed
Slack Integration - @apibot
Create a slack integrtion hubot which will handle: search for newly created developer accounts, api product approval, and target server gateway configuration
Status
colour
Blue
title
completed
Initial Rollout
Create First APIs, Developer Portal, Introductory Documentation, and Communicate with Campus the availability of the System
Status
colour
Blue
title
completed
Principles
(We don't always achieve these, but this is what we're shooting for)
Easy to Find APIs
Provide an easy and quick to use Developer Portal for finding APIs and the data they provide. In order for APIs to be useful, people need to use them and the first step to do that is make them easily found through search engines and clear documentation.