Individual Learner, Individual Course, Specific Entity Progress

This API provides the progress of a learner in a specific entity of a specific type (eg. online test) in a specific course.

Request URL:

https://people.zoho.com/api/v1/courses/<courseId>/(batches/<batchId>/)learners/<learnerId>/<entityType>/<entityId>/progress

Other Entity Types:

onlineTests,offlineTests,assignments,links,sessions,files,contents

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/learners/100002000000041342/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/learners/100002000000041342/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/learners/100002000000041342/progress" \
  -H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN"
Copiedurl = "https://people.zoho.com/api/v1/courses/100002000000039001/batches/100002000000041383/learners/100002000000041342/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/learners/100002000000041342/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/learners/1002303234/assignments/100002000000039100/progress

SAMPLE RESPONSE

Copied{
  "code": 200,
  "learnerId": 100002000000032143,
  "entityType": 0,
  "entityProgress": [
    {
      "duration": "2 minutes",
      "userMark": "",
      "entityName": "sample pff",
      "entityId": 100004000000049001,
      "type": "offlineTest",
      "testMark": 2,
      "isMandatory": true,
      "status": "Pending"
    }
  ]
}