API Documentation

An Introduction to APIs

The acronym "API" stands for A.pplication P.rogram I.nterface, and is a term used to describe anything that facilitates interaction with a system or data set. If this sounds ambiguous, that's because it is. The term API is loosely used to refer to anything from documentation that details how something works to core functions within an existing system, to an entire, separate system which accesses another system or a data set.

While the acronym "API" is used in different contexts to mean different things, in this context, the Schoolgy API is simply a service designed to allow (hopefully) easy and consistent interfacing with the existing schoology system. In other words, the Schoology API is a web service that lets you programmatically interface with the Schoology system. As the API user, you will write a program (the client) that makes requests (i.e. API calls) to the Schoology API service and receives a response. You can do many different things with the Schoology API, much in the same way that there are many different things you can do via the Schoology website. In both cases, you can view course information, user profiles, create events, send and receive private messages, and about a zillion other things.

Along those lines, and because the Schoology API is a RESTful API, you can think of the basic interaction between an API client (the program you, as the developer, will write) and the Schoology API service as very similar to an actual human being browsing the web. The human uses a client program (a web browser like Firefox or Safari) to make requests to a web server (i.e. google.com, nooooooooooooooo.com, xkcd.com). The request the web browser makes is specifically formatted to follow HTTP standards, and the response (a web page containing text,images,flash files,etc.) follows the same standard. In this way, you will write a program that sends a specifically formatted request to the Schoology API, receives a response, parses it, and then does whatever you may want based on the given response.

A detailed guide for writing an API client is outside the scope of this wiki, and would vary widely depending on what language you are writing in. And, unfortunately, at the time of this writing, there are no widely published clients available. If they become available in the future, you will be able to find them here. If you read through all the material available in this wiki and have specific questions, please send an e-mail to help@schoology.com. Please be sure to at least read this documentation before asking your question. We will post more resources and examples as they become available.