Update Assignment API
This API is used to update assignments in module of course or batch in LMS
Request URL: (Self Paced Learning Course)
https://people.zoho.com/api/v1/courses/<courseId>/modules/<moduleId>/assignments?assignmentData={"name" : <name>, "maximumMarks" : <maximumMarks>, "submissionType" : <submissionType>, "lateSubmission" : <lateSubmission>, "submissionFrom" : <submissionFrom>, "submissionTo" : <submissionTo>, "description" : <description>, "isMandatory" : <isMandatory>, "lockUntil" : <lockUntil>, "gradeCategoryId":<GradeCategoryId>}
Request URL: (Blended Learning Course)
https://people.zoho.com/api/v1/courses/<courseId>/batches/<batchId>/modules/<moduleId>/assignments?assignmentData={"name" : <name>, "maximumMarks" : <maximumMarks>, "submissionType" : <submissionType>, "lateSubmission" : <lateSubmission>, "submissionFrom" : <submissionFrom>, "submissionTo" : <submissionTo>, "description" : <description>, "isMandatory" : <isMandatory>, "lockUntil" : <lockUntil>, "gradeCategoryId":<GradeCategoryId>}
Scope:
ZOHOPEOPLE.training.ALL
OR
ZOHOPEOPLE.training.UPDATE
Possible Operation Types:
ALL - Complete access to data
UPDATE - Only to update data
Method:
PATCH
Request Parameters
Parameters | Values Allowed | Default Value | Description |
*assignmentData | <parameters in JSON Object> | JSON Input |
Parameters | Values Allowed | Default Value | Description |
*name | <Batch name> | <Mandatory> | Specify the batch name |
*maximumMarks | <Marks in integer format> | <Mandatory> | Specify the assignment marks |
*submissionType | fileAttachment|text|noSubmission | <Mandatory> | Specify the submission type |
*submissionFrom | <submissionFrom date in DD-MM-YYYY format> | <Mandatory for blended learning courses> | Specify the submission from date |
*submissionTo | <submissionTo date in DD-MM-YYYY format> | <Mandatory for blended learning courses> | Specify the submissionTo |
lateSubmission | allow|doNotAllow | - | Specify if late submissions is allowed or not |
description | <description> | - | Specify the description |
isMandatory | true|false | - | Specify if the file is mandatory |
lcokUntil | <lockUntil date in DD-MM-YYYY format> | - | Specify the lockUntil date |
gradeCategoryId | <gradeCategoryId> | - | Specify the Grade category Id |
resources | <files> | - | Specify resources |
*mandatory parameters
Error Codes and Descriptions
Status Codes | Description |
---|---|
400 | Invalid parameter value/input parameter missing |
403 | Sorry! You are not authorized to do this operation |
404 | Not found |
422 | Maximum limit exceeded |
500 | Sorry! Server error occured |
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.
Request
Copiedimport okhttp3.*;
public class Main {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
String jsonBody = "{"
+ "\"name\": \"sssapi test Assignment API testing\","
+ "\"maximumMarks\": 65,"
+ "\"submissionType\": \"text\","
+ "\"lateSubmission\": \"doNotAllow\","
+ "\"submissionFrom\": \"03-01-2022\","
+ "\"submissionTo\": \"01-07-2021\","
+ "\"description\": \"API testing\","
+ "\"isMandatory\": true,"
+ "\"gradeCategoryId\": 478346000019553053"
+ "}";
RequestBody body = RequestBody.create(mediaType, jsonBody);
Request request = new Request.Builder()
.url("https://prepeople.zoho.com/api/v1/courses/478346000027120001/modules/478346000027247043/assignments/478346000027247058")
.patch(body)
.addHeader("Authorization", "Zoho-oauthtoken YOUR_ACCESS_TOKEN")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
Copiedconst url = "https://prepeople.zoho.com/api/v1/courses/478346000027120001/modules/478346000027247043/assignments/478346000027247058";
const data = {
name: "sssapi test Assignment API testing",
maximumMarks: 65,
submissionType: "text",
lateSubmission: "doNotAllow",
submissionFrom: "03-01-2022",
submissionTo: "01-07-2021",
description: "API testing",
isMandatory: true,
gradeCategoryId: 478346000019553053
};
fetch(url, {
method: "PATCH",
headers: {
"Authorization": "Zoho-oauthtoken YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error("Error:", error));
Copiedcurl -X PATCH "https://prepeople.zoho.com/api/v1/courses/478346000027120001/modules/478346000027247043/assignments/478346000027247058" \
-H "Authorization: Zoho-oauthtoken YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "sssapi test Assignment API testing",
"maximumMarks": 65,
"submissionType": "text",
"lateSubmission": "doNotAllow",
"submissionFrom": "03-01-2022",
"submissionTo": "01-07-2021",
"description": "API testing",
"isMandatory": true,
"gradeCategoryId": 478346000019553053
}'
Copiedurl = "https://prepeople.zoho.com/api/v1/courses/478346000027120001/modules/478346000027247043/assignments/478346000027247058";
headers = map();
headers.put("Authorization", "Zoho-oauthtoken YOUR_ACCESS_TOKEN");
headers.put("Content-Type", "application/json");
data = map();
data.put("name", "sssapi test Assignment API testing");
data.put("maximumMarks", 65);
data.put("submissionType", "text");
data.put("lateSubmission", "doNotAllow");
data.put("submissionFrom", "03-01-2022");
data.put("submissionTo", "01-07-2021");
data.put("description", "API testing");
data.put("isMandatory", true);
data.put("gradeCategoryId", 478346000019553053);
response = invokeurl
[
url : url
type : PATCH
headers: headers
parameters: data.toString()
];
info response;
Copiedimport requests
url = "https://prepeople.zoho.com/api/v1/courses/478346000027120001/modules/478346000027247043/assignments/478346000027247058"
headers = {
"Authorization": "Zoho-oauthtoken YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
data = {
"name": "sssapi test Assignment API testing",
"maximumMarks": 65,
"submissionType": "text",
"lateSubmission": "doNotAllow",
"submissionFrom": "03-01-2022",
"submissionTo": "01-07-2021",
"description": "API testing",
"isMandatory": True,
"gradeCategoryId": 478346000019553053
}
response = requests.patch(url, json=data, headers=headers)
print(response.text)
Show full
Show less
Header
CopiedAuthorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxx9be93.9b8xxxxxxf
Response
Copied{
"code": 200,
"assignment": {
"assignMark": "65",
"totalLearnersCount": 0,
"description": "Description for Assignment",
"resources": [],
"assignmentId": "219225000000648093",
"canUserDelete": true,
"lockUntil": "26-12-2021",
"gradeCategoryName": "",
"isLocked": true,
"gradeCategoryId": "",
"canUserEdit": true,
"moduleId": "219225000000648001",
"marksUpdatedLearnersCount": "0/0",
"assignmentName": "Assignment One_update"
},
"message": "success"
}
Show full
Show less