Register as a developer
- Fill out this registration form to get access to it's learning as a developer
- You will receive 5 test user accounts, 1 teacher account and 4 student accounts (these may not be sent before the next business day, so please have some patience)
- Log in with your teacher user, you will have access to a course called "Developer course". Navigate to this course either from the start page or from the "Courses" tab in the top menu.
- In the "Developer course" there is a forum that can provide useful information, also known bugs will be listed here.
- In the top menu you can find the link "Developer portal", click this and proceed to "Registering your application in it's learning" (use your teacher account for this)
Registering your application in it's learning
Type of application should be considered carefully as you cannot change it later (you will have to register a new application), and you should consider if your application should support sharing or not. We strongly recommend that you make support for sharing, read more about sharing.

- On the Developer portal page click "Add a new application" link. The "Add application" page will appear.
- Enter the application name and description and upload icons for your application. Enter a default name for instances (such as "New test"). New instances will have this name in the it's learning tree menu when they are created.
- Enter URLs for adding and viewing instances. When a teacher adds your application to a course he is first taken to the add page. After that, teacher and students are taken to the view page.
URLs can contain parameters with static values, standard parameters will be added to these URLs, so you do not have to enter them here. Example: if you enter the URL https://www.MyItslearningApp.com/add.aspx for adding a new instance, the request sent to this page will be something like:
https://www.MyItslearningApp.com/add.aspx/add.aspx?ApiSessionId=xnuuhn2nd3qxvvbrc0svmqmk&LearningObjectId=100091&LearningObjectInstanceId=100091&Version=LatestOrDraft&UserId=13&WindowsTimeZoneId=GMT%20Standard%20Time&OlsonTimeZoneId=Europe/London&FirstName=Bent%20Audun&LastName=Hesvik&Locale=en-GB&Language=en-GB&Use12HTimeFormat=False&Accessibility=False&Permissions=Read,%20Participate,%20Evaluate,%20Modify&Timestamp=2009-04-07T06:58:41&Signature=621e2b0e2a306bd79dfbd7d01379495d
The ApplicationKey and shared secret values are displayed on the bottom of the page. You have to save these values in your application code or configuration file and use them to create authorization header that is used for communicating with the it's learning rest api.
Creating project and configuring your application
Microsoft Visual Studio .NET
- Use the template project provided in the SDK.
- Paste the application key and shared secret into the web.config and basepage.cs. You can search for "WRITE YOUR APPLICATION KEY HERE" and "WRITE YOUR SHARED SECRET HERE".
- Happy coding :)
For other IDEs
- Create a new Web application
- Make references to the it's learning rest api
- Use the application key and shared secret
Rest API urls
start url: https://betarest.itslearning.com/Restapi/LearningObjectService.svc
| HTTP method |
relative web service URL |
C# SDK function (found in LearningObjectServiceClient) |
Description |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId} |
GetLearningObjectInstance |
get instance of learning object instance |
| [PUT] |
/learningObjects/{learningObjectId}/instances/{instanceId} |
UpdateLearningObjectInstance |
update instance of learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/PossibleAssessments |
GetPossibleAssessments |
get possible assessments for learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/AssessmentItems |
GetAssessmentItems |
get assessment items that can be used for evaluating on an learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/PossibleAssessmentStatuses |
GetPossibleAssessmentStatuses |
get possible assessment statuses for a learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/AssessmentStatusItems |
GetAssessmentStatusItems |
get assessment status items that can be used for setting status on learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/Reports |
GetLearningObjectInstanceUserReports |
get reports (assessment etc) for users with access to learning object instance |
| [POST] |
/learningObjects/{learningObjectId}/instances/{instanceId}/Reports |
UpdateLearningObjectInstanceUserReports |
update reports (assessment etc) for users with access to learning object instance |
| [GET] |
/learningObjects/{learningObjectId}/instances/{instanceId}/Reports/{userId} |
GetLearningObjectInstanceUserReport |
get report (assessment etc) for user with access to learning object instance |
| [PUT] |
/learningObjects/{learningObjectId}/instances/{instanceId}/Reports/{userId} |
UpdateLearningObjectInstanceUserReport |
update report (assessment etc) for user with access to learning object instance |
Using the Rest API
Please download the SDK and have a look at the class SampleRestApiClient in the template project. There are two helpful methods here:
- CallRestApiUsingProxyClass (wrapper if using .net)
- CallRestApiUsingHttpRequest (step by step in c# with comments what needs to be done)
Also have a look at the class SampleCommunicationHelper.