LinkIt! REST API

Introduction

Welcome to LinkIt!'s REST API documentation. Our web application programming interface (API) allows our partners and customers to manage their data outside of the LinkIt! portal while keeping it in synchronization.  This means you can select which features and functions you want to perform inside and outside of the LinkIt! portal. The API provides you with the ability to query and update your district's data in a flexible and secured way.  It allows you to interact with teacher, class, student, and test data (e.g. assign teachers and students to classes, make test assignments, get test summary and item level results) maintained in LinkIt!

The LinkIt! API is based on a Representational State Transfer (REST) architecture. REST APIs have gained much popularity and are now used by some of the world's biggest companies including Google, Facebook, and Twitter.  These APIs open up LinkIt!'s architecture enabling our partners and customers to easily write and test their own applications using any HTTPS client in any programming language.

How do I get started?
Partners and customers interested in using our API to manage their data can request an API key.  Once approved, they will be given the following information:

PUBLIC KEY This acts like a username that is sent with every request.
PRIVATE KEY This is a secret key that should not be shared or distributed; it is used to hash the URL and confirm the identity of the call.

In addition, LinkIt! will provide access to sample code allowing our clients to quickly get started using the API.
Security
Our API is secured by the following:
  1. The data is encrypted using the Secure Sockets Layer (SSL) - the web standard for security over the Internet
  2. An additional layer of security is added that uses a timestamp and a hash code to prevent replay attacks; it is similar to the approach Amazon uses to secure its services
  3. Access controls within LinkIt! are in place to prevent data leakage

Furthermore, if you suspect your client key has been stolen or detect malicious activities, LinkIt! offers the option to shut down your API upon request and/or reissue a new client key.

In addition, an hashed tag (token) is required at the end of each API call to authenticate the caller. To create the hashed tag:

  1. Generate the API URL based on passed-in parameters.
  2. Hash that URL using SHA1 hash algorithm with the provided Private Key as a hash key.
  3. Add the hash to the URL to call.
Base URL

All URLs referenced in the documentation have the following base:

STAGING https://services.linkitdev.com/restapi/v1

PRODUCTION https://services.linkit.com/restapi/v1

The LinkIt! REST API is served over HTTPS. To ensure data privacy, unencrypted HTTP is not supported.

Request Headers
We use HTTP headers in API request (https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). Two headers to be used are:
  • Content-Type: this specifies the format of POST data in the request. Possible values are "application/json" and "application/xml".
  • Accept: this specifies the expected format of returned data. Possible values are "application/json" and "application/xml".
Available Methods

The following CRUD methods are available in the LinkIt! API to interact with various resources (data entities).

CREATE (POST) - used to create a new entry

READ (GET) - used to search for an entry or get information about a particular entry

UPDATE (PUT) - used to update an entry

DELETE - used to delete an entry

The table below lists the methods available for each resource supported by the LinkIt! API.


Note

  • Partners and customers will be permissioned to use the various methods depending on their agreement with LinkIt!.
  • It is the responsibility of the partner or customer to decide which specific methods their users have access to.

Navigation and Reference