REST Assured With TalentLMS: The Ins And Outs Of The TalentLMS' REST API

Leverage TalentLMS' REST API

For such an intuitive learning management system, TalentLMS has surprising depth. It’s simple but powerful, and this power stems from a well-designed core feature set, whose functionality can be combined to cater for all kinds of business needs, even needs unforeseen to the team that created it.

When your needs are totally unique, though, and the native functionality and integrations don’t cut it, TalentLMS still has another hidden ace up its sleeve: Its comprehensive REST API, that allows for custom integrations and complete programmability of its operations, and is compatible with almost every third party system and programming language imaginable.

REST What?

If you are not the technical type, you might not be familiar with REST, to begin with.

Proposed in the early noughties by computer scientist Roy Thomas Fielding, REST (Representational State Transfer) is an "architectural style" for designing web services that caught on like wildfire, and has been adopted by every major service provider, from Google and Facebook to Microsoft and Oracle.

REST is similar to the previously popular XML-based SOAP and WSDL protocols, but it’s implemented using the same familiar HTTP URLs that we use to access web resources. As for the data, those are, more often than not, encoded as JSON, a very simple and flexible data serialization format.

(A pedantic distinction that you can freely ignore: 99% of modern web services, including TalentLMS, do not implement the original, rigid, REST specification, but a simplified version, sometimes known as RESTful, but which almost everybody still just calls REST).

If all this sounds too complicated, the main point is this: REST is a simpler, widely adopted, de facto industry standard for talking to and integrating with web services.

So, how does TalentLMS handle REST, and what can you do with it? Glad that you asked.

REST API In TalentLMS

Just like REST advises, the TalentLMS API leverages built-in HTTP features, like HTTP authentication and HTTP response codes, to provide a familiar, at least to web programmers, interface for talking to the TalentLMS service.

Responses are always returned as JSON; REST also allows for XML or other kinds of responses, but JSON has won the adoption wars throughout the industry.

TalentLMS provides access via REST to most kinds of objects, like Users, Courses, Lessons, Branches, etc. Users of the API are not just able to query for those resources, but also perform several actions (e.g. signup a user, enroll them in a course, etc., with more actions to become available in the future).

Any interaction with TalentLMS' REST API is done through an "endpoint", which is an HTTP URL. If your TalentLMS address is "mycompany", then your base API URL is: https://mycompany.talentlms.com/api 

On top of this base URL, specific endpoints are added for each individual query or action. For example, to get a list of all available courses, you will query: https://mycompany.talentlms.com/api/v1/courses 

And to get the details for a particular user, you will ask for them by their id (which you can obtain from a previous query that lists all users): https://mycompany.talentlms.com/api/v1/users/id:11

Most queries are performed as HTTP "GET" operations, and don’t affect the operation of the portal in any way -- they just return the data that you ask for.

Actions are performed in a similar way, e.g. to sign up a new user to your TalentLMS portal, you use: https://mycompany.talentlms.com/api/v1/usersignup 

The only difference is that they are executed as "POST" operations, and require you to provide some information (e.g. to signup a new user you will need to provide the new user’s username, email, and other such details).

Of course, access to the REST API, and thus your valuable data, is protected. In order for external services to connect to TalentLMS’ REST API, they would need to have an API key, which can be accessed and made available only by your TalentLMS administrator(s).

All this is pretty standard REST behavior, and TalentLMS implements it in a manner that follows the industry’s best practices regarding RESTful services.

Uses Cases For REST

So, where would you use TalentLMS' REST API? 

Basically, everywhere you have an external third party system for which there is no turn-key integration with TalentLMS available, and you want to have the two talking to each other.

For example, you could use a REST integration to have your ERP automatically gather information about any new users, courses, etc., created in your learning portal, or to have it automatically create accounts for new employees in TalentLMS. You could also leverage the TalentLMS API to show information about training users, classes, etc., in your intranet portal.

REST is also an excellent way for your IT team to automate various actions in general when something happens to TalentLMS. REST doesn’t directly keep state, but it’s trivial for your programmers to compare state between subsequent calls and detect any changes to your TalentLMS portal (e.g. a new user is added, a course status has changed, etc.).

As more endpoints are added to TalentLMS' REST API, enterprise programmers will have the option to automate every aspect of your training portal’s operation. As it stands at the moment, TalentLMS REST API lets you take your specific, but very useful, management actions, but full querying power into your eLearning portal.

TalentLMS' REST API: The Gist

REST APIs have emerged as the industry standard way to communicate with a web service and/or automate its operations.

TalentLMS provides a comprehensive RESTful API, allowing you to query all aspects of your TalentLMS’ portal, and even perform automatic user signup and registration.

eBook Release: TalentLMS
TalentLMS
An award-winning LMS for those looking to build online courses for any purpose in a few easy clicks, even with zero experience.
Close