Tin Can in action

Introduction to the Tin Can API:

The Tin Can API is a brand new learning technology specification that offers a simpler and more flexible way of capturing learning activities and sharing them with a variety of other systems – opening up an entire world of experiences (online and offline). A wide range of systems can now securely communicate with a simple vocabulary that captures this stream of activities.

The Tin Can API is a product of SCORM evolution – i.e. it’s practically the next generation of SCORM – and it eliminates many of the old limitations and restrictions. It is suitable for use in any kind of learning including: mobile learning, simulations, virtual worlds, serious games, real-world activities, experiential learning, social learning, offline learning, and collaborative learning. For a full introduction to Tin Can and how it differs to SCORM please see this post, or read “Tin Can Demystified” by Epignosis’ CTO, A. Papagelis.

How it works:

Statements are the ‘substance’ of the Tin Can API. Each statement corresponds to an experience that has occurred or is taking place right now. The Tin Can API uses (JSON formatted) statements containing any activity that needs to be recorded and sends them to a Learning Record Store (LRS). Each statement uses this simple form: “someone did something” or [actor]+[verb]+[object].

For more information about the Tin Can API, visit http://tincanapi.com, and for an overview on Tin Can Statements go to http://tincanapi.com/developers/tech-overview/statements-101/

Integrating with an LMS:

The main benefit of the Tin Can API is that it frees your data from a pre-defined LMS, promoting mobile, offline or even social learning.

Epignosis’ TalentLMS offers a basic LRS implementation where you can send and record any learning experience. You can enable the Tin Can API for your domain, through the Basic Settings of your account (administrators only).

Once enabled, you can get your private key used for authentication when communicating with the LRS. Statements can be sent to the LRS by posting them to the following URL: http://yourdomain.talentlms.com/tcapi/ . If authenticated successfully and provided that your JSON statement is valid the activity will be recorded and displayed in your timeline – in any other case a descriptive error will be returned.

Besides posting your statements, you should include the following parameters in the request HTTP header:

  • Authorization: your Tin Can API Key (find it in the Basic Settings of your account)
  • Statement ID* (optional): a unique identifier of your statement
*Note: when a statement ID is not included, a POST request should be made. On the other hand, when a statement ID is sent, a PUT request should be used

Tin Can in action:


At http://yourdomain.talentlms.com/dev/tincan/  you can find an example activity, where you can see in action how it communicates with the TalentLMS LRS. Fill in the LRS endpoint URL, your secret Tin Can API key and the email of an existing user in your system. Start navigating through the sample course, and check in real-time the statements recorded in your timeline.


In the same example activity you may also use an alternative LRS, such as the public LRS provided by SCORM Cloud. Use: https://cloud.scorm.com/ScormEngineInterface/TCAPI/public/ & enter a random API Key and your email. Navigate through the course, and visit http://tincanapi.com/developers/resources/statement-viewer/ to see all statements that were recorded.

Run it on your own

You may also download this sample activity, which is located at http://yourdomain.talentlms.com/dev/tincan.zip. You just unzip the files, place them in a web server running PHP and you’re ready to go!

Importing Tin Can Storyline object in TalentLMS

Using Articulate Storyline you can publish a project that supports Tin Can API, ready to use in conjunction with an LRS.  Publishing for Tin Can API in Articulate Storyline is really easy – just select “Tin Can API” as LMS in the Output Options section (detailed instructions here).

TalentLMS offers you the ability to upload Storyline objects which were published for Tin Can directly into a course unit. Just select the option to create a SCORM/Tin Can unit, upload your Storyline zipped object, and save your unit. Start experiencing your new unit and all Tin Can statements produced will be recorded and displayed in your timeline.




Epignosis will also announce the integration of the Tin Can API with eFront LMS next month – so please look out for updates in the coming weeks! 🙂

About the author

Roberta Gogos is a Social Media & Content Marketing Consultant and eFront Learning’s Community Manager, she is contributing author to a number of blogs and focuses on social media, culture-specific communication, technology, and elearning. She can be contacted @rgogos or via LinkedIn.



Improve your employee, partner and customer training with our enterprise-ready learning management system. Book a demo now and see why our diverse portfolio of customers consistently give us 5 stars (out of 5!)

Book a demo