Single Course Single Learner Module-wise All Entity Progress
This API provides the progress of a learner in a module in a specific course
Request URL:
https://people.zoho.com/api/v1/courses/<courseId>/(batches/<batchId>/)modules/<moduleId>/learners/<learnerId>/progress
Possible Operation Types:
READ - Only to read data
View complete list of LMS API error codes
Threshold Limit: 30 requests | Lock period: 5 minutes
Threshold Limit - Number of API calls allowed within a minute.
Lock Period - Wait time before consecutive API requests.
REQUESTS
Copiedimport okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class Main {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
String url = "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress";
Request request = new Request.Builder()
.url(url)
.get()
.addHeader("Authorization", "Zoho-oauthtoken YOUR_ACCESS_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
Copiedconst url = "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress";
fetch(url, {
method: "GET",
headers: {
"Authorization": "Zoho-oauthtoken YOUR_ACCESS_TOKEN"
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
Copiedcurl -X GET "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress" \
-H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN"
Copiedurl = "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress";
headers = map();
headers.put("Authorization", "Zoho-oauthtoken YOUR_ACCESS_TOKEN");
response = getUrl(url, headers);
info response;
Copiedimport requests
url = "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress"
headers = {
"Authorization": "Zoho-oauthtoken YOUR_ACCESS_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
HEADER
CopiedAuthorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxx9be93.9b8xxxxxxf
SAMPLE REQUEST
Copiedhttps://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/modules/1000020123441383/learners/100002000000032145/progress
SAMPLE RESPONSE (Self Paced)
Copied{
"code": 200,
"isLocked": false,
"moduleName": "M1",
"moduleProgress": [
{
"duration": "0 minutes",
"userMark": "",
"numberOfAttemptsTaken": 0,
"entityName": "Test 1",
"maximumAttemptsAllowed": 1,
"entityId": 100004000000038041,
"type": "onlineTest",
"testMark": 1,
"isMandatory": true,
"attempts": []
},
{
"entityName": "Link",
"entityId": 100004000000048005,
"type": "embedLink",
"isMandatory": true,
"status": "Pending"
}
],
"moduleId": 100004000000038033,
"message": "success",
"hasMoreRecords": false
}
SAMPLE RESPONSE (Blended Learning)
Copied{
"code": 200,
"isLocked": false,
"moduleName": "M1",
"moduleProgress": [
{
"duration": "0 minutes",
"userMark": "",
"numberOfAttemptsTaken": 0,
"entityName": "Test 1",
"maximumAttemptsAllowed": 1,
"entityId": 100004000000045021,
"type": "onlineTest",
"testMark": 1,
"isMandatory": true,
"attempts": []
},
{
"duration": "30 minutes",
"sessionStartDate": "2023-08-03",
"entityName": "Sess",
"sessionEndTime": "2:30 PM",
"sessionStartTime": "2:00 PM",
"entityId": 100004000000045088,
"type": "session",
"isMandatory": true,
"sessionAttendance": ""
},
{
"duration": "2 minutes",
"userMark": "",
"entityName": "sample pff",
"entityId": 100004000000049001,
"type": "offlineTest",
"testMark": 2,
"isMandatory": true,
"status": "Pending"
},
{
"assignMark": 10,
"submissionType": "No Submission",
"userMark": "",
"submissionStatus": "",
"entityName": "Assn",
"submittedOn": "",
"entityId": 100004000000049013,
"type": "assignment",
"isMandatory": true
}
],
"moduleId": 100004000000045017,
"message": "success",
"hasMoreRecords": false
}
SAMPLE RESPONSE (Module is Locked)
Copied{
"code": 200,
"isLocked": true,
"moduleName": "M1",
"moduleProgress": [],
"moduleId": 100004000000038033,
"message": "success",
"hasMoreRecords": false
}