What is an API?

One Bus Away

Transportation agencies in King and Pierce Counties collect and publish real-time information about the location their buses (the rules about how to access this data is an API).  The One Bus Away application takes this information and gives people a useful interface to plan their bus trips (fastest, fewer transfers, etc).  Those using the smart phone app use the GPS API in the phone to add the information about where they are currently located.  
API is short for Application Programming Interface.  The term can mean different things to different programmers, but basically it means a set of rules that allow a service to be incorporated into an application.  
For instance, our contacts manager incorporates several API's that;
  • creates an application with a simple pull-down menu that gives people with a PESB login limited access to Christine's account.
  • stores and delivers contact information
  • creates a couple of reports (one on a spreadsheet and the other is the custom links in the body of the email)
  • delivers the report using Christine's Gmail account.
Using Google's APIs – in this case Gmail, App Script, Spreadsheet, and Contacts – means we can create this application in a few hours instead of a few days.

All of the services that we call "The Google World" have API's associated with them. 

Technical details-
  • If you want to know more about the general definition of an API, here is a Wikipedia link.   
  • Also, here is a link for more technical information about the RESTful API.

API and Information Sharing

Like so many things in data and computers, the concept of API really comes down to setting rules so that machines can do the hard work or finding, sharing, and saving information.  Ideally, we want information to go directly from OSPI into other applications.  We frequently talk about this with OSPI so we know it is on their radar.  Hopefully it will be implemented with the new Data Warehouse project.

Solving the Mentor Teacher Cert problem

Programs are stating that they don't want to collect Mentor Teacher Cert Number because of complicated political issues.  They are concerned that when they begin asking for this data that teachers will no longer be willing to take on the mentor role.  Of course, there are other issues that come up, such as the ethics of collecting information and fears of the misuse of information.  However, there is another issue that comes up after these concerns are brought up, which can be boiled down to, "How do we collect this data efficiently?"

I've created a simple app to look up a teacher cert called "Teacher Lookup".  This app takes public S-275 data and delivers it in an application designed to quickly look up teachers.  But we don't want people to have to come back to PESB's website every time they need to look up a cert number, and that's the magic of an API.

The power of an API is that the teacher cert data can be called within any application, not just the one on our website.  For instance, here is a simple database that holds information for Mentor teachers with a built in look up.  Again, API that holds the data allows this feature can be incorporated anywhere.

Example Solution

Try this Sample Mentor Database application.  It incorporates the "Teacher Lookup" feature into a working mentor database.  
Feel free to click and make changes.