Gradebook API

API change history

List of APIs related to Gradebook

Update the gradebook settings (Patch)

Update the gradebook settings (Patch) - grading schema template and weightages of the graded items for the parent resource (module).

The weightage of the grade items for the module (parent/root resource) cannot be more than 100%.

Try it

Request

Request URL

Request parameters

  • string

    Format - uuid. Module ID

Request headers

  • (optional)
    string
    Media type of the body sent to the API.
  • string
    Subscription key which provides access to this API. Found in your Profile.

Request body

The information of the Grade Item to be edited

{
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Input class for updating settings for the Module's Gradebook",
  "required": [
    "gradingSchema",
    "iD_Weightage"
  ],
  "type": "object",
  "properties": {
    "iD_Weightage": {
      "description": "A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema template to be used as default grading schema for the respective grade items for the module. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}
{
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Input class for updating settings for the Module's Gradebook",
  "required": [
    "gradingSchema",
    "iD_Weightage"
  ],
  "type": "object",
  "properties": {
    "iD_Weightage": {
      "description": "A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema template to be used as default grading schema for the respective grade items for the module. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}
{
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Input class for updating settings for the Module's Gradebook",
  "required": [
    "gradingSchema",
    "iD_Weightage"
  ],
  "type": "object",
  "properties": {
    "iD_Weightage": {
      "description": "A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema template to be used as default grading schema for the respective grade items for the module. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}
{
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Input class for updating settings for the Module's Gradebook",
  "required": [
    "gradingSchema",
    "iD_Weightage"
  ],
  "type": "object",
  "properties": {
    "iD_Weightage": {
      "description": "A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema template to be used as default grading schema for the respective grade items for the module. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}

Responses

200 OK

the records affected

Representations

{
  "description": "Gradebook settings - grading schema template, and weightages of the grade items for the parent resource (module)",
  "type": "object",
  "properties": {
    "resourceID": {
      "format": "uuid",
      "description": "the ID of the resource which this content belongs to. i.e. the ModuleID",
      "type": "string"
    },
    "iD_Weightage": {
      "description": "Weightages of the grade items for the Module. A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema for the grade item. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}
{
  "resourceID": "string",
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Gradebook settings - grading schema template, and weightages of the grade items for the parent resource (module)",
  "type": "object",
  "properties": {
    "resourceID": {
      "format": "uuid",
      "description": "the ID of the resource which this content belongs to. i.e. the ModuleID",
      "type": "string"
    },
    "iD_Weightage": {
      "description": "Weightages of the grade items for the Module. A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema for the grade item. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}
{
  "resourceID": "string",
  "iD_Weightage": [
    {
      "key": "string",
      "value": 0.0
    }
  ],
  "gradingSchema": [
    {
      "letterGrade": "string",
      "maxMark": 0.0
    }
  ]
}
{
  "description": "Gradebook settings - grading schema template, and weightages of the grade items for the parent resource (module)",
  "type": "object",
  "properties": {
    "resourceID": {
      "format": "uuid",
      "description": "the ID of the resource which this content belongs to. i.e. the ModuleID",
      "type": "string"
    },
    "iD_Weightage": {
      "description": "Weightages of the grade items for the Module. A list of [Key: Grade Item ID, Value: Weightage]",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "format": "uuid",
            "type": "string",
            "readOnly": true
          },
          "value": {
            "format": "float",
            "type": "number",
            "readOnly": true
          }
        }
      }
    },
    "gradingSchema": {
      "description": "Grading Schema for the grade item. Letter grades and its respectives max marks.\r\nGrades will be computed based on the grading schema with the entered mark.",
      "type": "array",
      "items": {
        "required": [
          "letterGrade",
          "maxMark"
        ],
        "type": "object",
        "properties": {
          "letterGrade": {
            "type": "string"
          },
          "maxMark": {
            "format": "float",
            "type": "number"
          }
        }
      }
    }
  }
}

400 Bad Request

Bad Request

Representations

{
  "type": "string"
}
string
{
  "type": "string"
}
string
{
  "type": "string"
}

403 Forbidden

Login user not authorized to perform this action

Representations

{
  "type": "string"
}
string
{
  "type": "string"
}
string
{
  "type": "string"
}

404 Not Found

Record not found

Representations

{
  "type": "string"
}
string
{
  "type": "string"
}
string
{
  "type": "string"
}

500 Internal Server Error

Server Error

Representations

{
  "type": "string"
}
string
{
  "type": "string"
}
string
{
  "type": "string"
}

Code samples

@ECHO OFF

curl -v -X PATCH "https://luminus.azure-api.net/gradebook/Module/{ID}/Setting"
-H "Content-Type: application/json-patch+json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"

--data-ascii "{body}" 
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
        
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request headers
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");

            var uri = "https://luminus.azure-api.net/gradebook/Module/{ID}/Setting?" + queryString;

        }
    }
}	
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample 
{
    public static void main(String[] args) 
    {
        HttpClient httpclient = HttpClients.createDefault();

        try
        {
            URIBuilder builder = new URIBuilder("https://luminus.azure-api.net/gradebook/Module/{ID}/Setting");


            URI uri = builder.build();
            HttpPatch request = new HttpPatch(uri);
            request.setHeader("Content-Type", "application/json-patch+json");
            request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };
      
        $.ajax({
            url: "https://luminus.azure-api.net/gradebook/Module/{ID}/Setting?" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","application/json-patch+json");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
            },
            type: "PATCH",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
    NSString* path = @"https://luminus.azure-api.net/gradebook/Module/{ID}/Setting";
    NSArray* array = @[
                         // Request parameters
                         @"entities=true",
                      ];
    
    NSString* string = [array componentsJoinedByString:@"&"];
    path = [path stringByAppendingFormat:@"?%@", string];

    NSLog(@"%@", path);

    NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
    [_request setHTTPMethod:@"PATCH"];
    // Request headers
    [_request setValue:@"application/json-patch+json" forHTTPHeaderField:@"Content-Type"];
    [_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
    // Request body
    [_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];

    if (nil != error)
    {
        NSLog(@"Error: %@", error);
    }
    else
    {
        NSError* error = nil;
        NSMutableDictionary* json = nil;
        NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", dataString);
        
        if (nil != _connectionData)
        {
            json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
        }
        
        if (error || !json)
        {
            NSLog(@"Could not parse loaded json with error:%@", error);
        }
        
        NSLog(@"%@", json);
        _connectionData = nil;
    }
    
    [pool drain];

    return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

$request = new Http_Request2('https://luminus.azure-api.net/gradebook/Module/{ID}/Setting');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'Content-Type' => 'application/json-patch+json',
    'Ocp-Apim-Subscription-Key' => '{subscription key}',
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_PATCH);

// Request body
$request->setBody("{body}");

try
{
    $response = $request->send();
    echo $response->getBody();
}
catch (HttpException $ex)
{
    echo $ex;
}

?>
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
    # Request headers
    'Content-Type': 'application/json-patch+json',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('luminus.azure-api.net')
    conn.request("PATCH", "/gradebook/Module/{ID}/Setting?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'Content-Type': 'application/json-patch+json',
    'Ocp-Apim-Subscription-Key': '{subscription key}',
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('luminus.azure-api.net')
    conn.request("PATCH", "/gradebook/Module/{ID}/Setting?%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
require 'net/http'

uri = URI('https://luminus.azure-api.net/gradebook/Module/{ID}/Setting')


request = Net::HTTP::Patch.new(uri.request_uri)
# Request headers
request['Content-Type'] = 'application/json-patch+json'
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request body
request.body = "{body}"

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body