Our interactive online whiteboard can be easily integrated into existing systems using our REST API.
Out HTML5 solution is fast to load, requires no downloads, is responsive and optimized for both mobile and PC (Works on all devices mobile or desktop, Window, Mac, Android, Linux).
Whiteboard Features:
- Real-time collaboration
- In-built file repository
- Supports most common file formats PDF, Images, Video, Audio
- Synchronized video and audio playback
- Integrated with YouTube and Google Docs
- Easy to use drawing tools: pen, highlighter, shapes, text
- Zoom and Pan (Gesture based on mobile)
- Student and teacher/presenter roles and permissions, to limit file uploads and whiteboard control
To get access to our WhiteLabel API.
Contact us
Develop your own custom solution using our highly scalable, whitelabel real-time Whiteboard API

Whiteboard API Documentation
There are 3 steps to initialize a Whiteboard:
1) Pass a unique token and a user_id as URL parameters to a custom endpoint on our server
URL |
HTTPS://{{LEARNCUBE_ENDPONT}}/classv3/
{{LEARNCUBE_ENDPONT}} can be a subdomain on learn-cube.com or a custom domain pointing to our server. The domain is also used to authenticate the POST |
Parameters | token: [alphanumeric] Unique token from your system user_id : [alphanumeric] User ID from your system |
Example |
HTTPS://{{LEARNCUBE_ENDPONT}}/classv3/?token=ABC123&user_id=111
Link the URL up to your existing system. (As a href or button) |
2) We respond with a connect_lesson request to your server to validate the token and user_id
Method | POST |
URL | HTTPS://{{YOUR_SERVER}}/ |
Parameters | request: “connect_lesson” token: [alphanumeric] Same as received in the URL in step 1 user_id: [alphanumeric] Same as received in the user_id in step 1 |
Example | HTTPS://{{YOUR_SERVER}}/virtualclassroom/?request=connect_lesson&token=ABC123&user_id=111 |
3) Your server responds via JSON verifying if the class should start and returns the users parameters.
Parameters | status: [true or false] is_tutor: [true or false] Used to identify if user is a Tutor, for placement of video and to define classroom functions only the Tutor has access to. id: [alphanumeric] Same as received in the user_id in step 1 full_name: [alphanumeric] User's Name for use in chat and profile avatar: [alphanumeric] Url of the user's avatar/profile image. i.e https:\/\domain.com\/images\/avatar.png record: [true or false] Records MP4 of video streams *Beta Feature |
Format | JSON Content-Type: application/json;charset=UTF-8 |
Successful Response |
Example: Request: {"request":"connect_lesson","token":"1235678","user_id":"111"} Response: {"status":true, "is_tutor":false, "id":111,"full_name":"John Smith", "avatar":"https:\/\domain.com\/images\/avatar.png", "record":false} |
Error Response |
Example: Request: {"request":"connect_lesson","token":"1235678","user_id":"111"} Response: {"status":false, "message":"Class not allowed, student has no credit" } |
You can track time spent and end a whiteboard session by using the end_lesson function.
Method | POST |
URL | HTTPS://{{YOUR_SERVER}}/ |
Format | JSON Content-Type: application/json;charset=UTF-8 |
Parameters | request: "end_lesson" or crash_lesson token: [alphanumeric] Same as received in the URL in step 1 time: [integer] Class duration in seconds, the time from “start_class” call, until "end_lesson" call) |
Example | HTTPS://{{YOUR_SERVER}}/virtualclassroom/?request=end_lesson&token=ABC123&time=611 |
Successful Response |
Example: Request: {"request":"end_lesson","token":"ABC123", "time":611} Response: {"status":true} If “status:true” is returned the class is set as “started” and connect the video stream between the student and teachers, once the video streams are connected and the class timer starts. |
To get access to our online WhiteLabel API.
Contact us
Looking for live video classes? Try our Virtual Classroom API