Course tests
:: services/crstests module

This is a BETA module. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this module, please let us know. Then, we will work with you and move it out of beta as soon as we can.

This module enables users to view and edit course tests.

Course test enables lecturers to give points and grades to their students. We use a rooted tree to represent a course test. We use course test, and tree terms interchangeably.

Vocabulary:

  • test - course test
  • test ID - the ID of the root of a particular test
  • template - a test not connected to a course edition
  • template ID - ID of a root of a particular template

Node types

There are 4 node types: RootNode, FolderNode, TaskNode, GradeNode.
  • RootNode - RootNode can have sons of type: FolderNode, TaskNode, GradeNode.
  • FolderNode - A folder node is used to logically organize other nodes. Eg. You can have a folder node for each written quiz. Such folder could have many TaskNodes as sons representing single tasks at such quiz. FolderNode can have sons of type: FolderNode, TaskNode, GradeNode.
  • TaskNode - Points can be given in this type of node. So it should be used for such activities as homework, quizzes, single tasks inside quizzes, etc.
  • GradeNode - Grades can be given in this type of node. Each GradeNode has associated grade type. It can be used to give final grades for the semester. For further info about grade types see grade_type method.

Additional information

  • Nodes of type TaskNode, GradeNode can only be leaves of the tree (can't have any children).
  • Each node has a property called 'order' it should be used to sort children of some node, so that each time the tree is displayed children are in the same order.
  • Exemplary test tree:

    Grades and points

    The goal of the course test is to be able to give grades and points to students. Grades and points are associated with nodes. To represent grades and points we introduce two objects:
    TestGradeObject - a dictionary representing a grade:
    • node_id - ID of the node.
    • student_id - ID of the student that got this grade.
    • grader_id - ID of the user that gave this grade or null if the grader is not set
    • grade - dictionary describing given grade. The structure will be same as the structure of elements of the 'values' array of grade_type method.
    • last_changed - a DateTime string (see datatypes). Date and time of last modification or null ""
    • private_comment - Grader's comment, which should not be visible to the student.
    • public_comment - Comment intended for a student.
    TestPointsObject - a dictionary representing points:
    • node_id - ID of the node.
    • student_id - ID of the student that got this point.
    • grader_id - ID of the user that gave points or null if the grader is not set.
    • points - Number of points the student got.
    • last_changed - a DateTime string (see datatypes). Date and time of last modification or null ""
    • comment - Comment intended for a student.

    Automatic grading

    Points and grades given at some node (TaskNode or GradeNode) can depend on points or grades given in other nodes. Eg. a grade at the end of semester can depend on the sum of points of all the quizzes in that semester. TaskNode and GradeNode support this kind of dependency. These dependencies can be used to automatically calculate some grades of points. We call this automatic grading. Eg. lecturer can write algorithm to give final grades, it can depend on the sum of points student got over the semester. There is a custom programming language used to code such algorithms. Such algorithm can have dependencies on others nodes which are bind to variables. It can also have public constant variables. Please note: For the time being this module doesn't concern itself with executing such algorithms. Therefore result of methods such as node_grades, node_points will only contain points and grades set with update_points, update_grades

    Permission model

    Of course we don't want any student to see the grades or points of the other students. Therefore there is a permission system needed. There are 6 types of permissions users can be granted: ReadPerm, ModStructure, ModPermissions, ModPoints, ModGrades, ModGroupPoints. To represent the permission in method parameters and results we use:

    PermissionObject

    Each PermissionObject is a dictionary with at least these fields:
    • name field equal to the name of permission type it represents
    • user_id field containing ID of the user that this PermissionObject concerns.
    Additionally, if a particular PermissionObject represents ModGroupPoints type it should contain two more fields:
    • course_unit_id
    • group_number
    These two fields should identify a class group (see vocabulary). We will describe each of these permissions separately:
    • ReadPerm This permission can only be granted in RootNodes. It specifies if a user can access all the data in the test represented by a RootNode. You must grant this permission if you want to grant other permissions. name field for this type of permission will be equal to 'read'.
    • ModStructure This permission can only be granted in RootNodes. It specifies if a user can manipulate structure of the test represented by a RootNode i.e. add nodes, delete nodes, change properties, etc. name field for this type of permission will be equal to 'mod_structure'.
    • ModPermissions This permission can only be granted in RootNodes. It specifies if a user can manipulate permissions of the nodes in a test. name field for this type of permission will be equal to 'mod_permissions'.
    • ModPoints This permission can only be granted in nodes of type RootNode, FolderNode, GradeNode. It specifies if a user can change points (in a particular node) of all the students that a test concerns. name field for this type of permission will be equal to 'mod_points'.
    • ModGrades This permission can only be granted in nodes of type RootNode, FolderNode, GradeNode. It specifies if a user can change grades (in a particular node) of all the students that a test concerns. name field for this type of permission will be equal to 'mod_grades'.
    • ModGroupPoints This permission can only be granted in nodes of type RootNode, FolderNode, TaskNode. This permission concerns particular class group. It specifies if a user can change points (in particular node) of all the students of that class group. name field for this type of permission will be equal to 'mod_group_points'.

    Permission invariants

    Among all the permissions ReadPerm, ModStructure, ModPermissions only concern root nodes. For all others permissions the following invariant must be satisfied. If a particular permission is granted in some node then it also must be granted in all the nodes in the subtree that the permission concerns. For example, if a ModPoints permissions is granted in root node for some user, then it must be granted in all the nodes in the tree of type different than GradeNode. When you change some permissions in some node, then some permissions might be added and some might be deleted to satisfy this invariant.

    Notes

    • Methods in this module do not follow the description of fields parameter (see datatypes). Relevant description of fields parameter is present in method descriptions.

    Methods

    all_user_points BETA Get points of a student. (administrative)
    change_folder_node_permissions BETA Change FolderNode permissions. (administrative)
    change_folder_node_properties BETA Change properties of a FolderNode. (administrative)
    change_grade_node_permissions BETA Change GradeNode permissions. (administrative)
    change_grade_node_properties BETA Change properties of a GradeNode. (administrative)
    change_root_node_permissions BETA Change RootNode permissions. (administrative)
    change_root_node_properties BETA Change properties of a RootNode. (administrative)
    change_task_node_permissions BETA Change TaskNode permissions. (administrative)
    change_task_node_properties BETA Change properties of a TaskNode. (administrative)
    connect_template_to_course_edition BETA Connect a template to a course edition. (administrative)
    create_folder_node BETA Create a FolderNode (administrative)
    create_grade_node BETA Creates a GradeNode (administrative)
    create_root_node BETA Create a RootNode (administrative)
    create_task_node BETA Create a TaskNode. (administrative)
    delete_subtree BETA Delete a subtree of test. (administrative)
    duplicate_subtree BETA Duplicate a subtree. (administrative)
    duplicate_tree BETA Duplicate a test or a template. (administrative)
    folder_node BETA Get a FolderNode.
    grade_node BETA Get a GradeNode.
    groups BETA Get groups of a test.
    lecturer BETA Get lecturer's tests. (administrative)
    move_node BETA Move a node. (administrative)
    node BETA Get nodes
    node_grades BETA Get grades given in some node. (administrative)
    node_points BETA Get points given in some node. (administrative)
    participant BETA Get student's tests.
    public_templates BETA Get public templates templates. (administrative)
    root_node BETA Get description of a RootNode.
    root_nodes BETA Get multiple RootNodes.
    subscribe BETA Grant ReadPerm.
    task_node BETA Get a TaskNode.
    unsubscribe BETA Remove ReadPerm.
    update_grades BETA Give grades to students. (administrative)
    update_points BETA Give points to students. (administrative)
    user_grade BETA Get student's grade for a single node.
    user_grade_modified BETA Notify about user's course test grade modification. (administrative)
    user_grades BETA Get student's grades for some nodes.
    user_grades_modified BETA Notify USOS API that crstests grades were modified. (administrative)
    user_point BETA Get points of a student for a single node.
    user_point_modified BETA Notify about user's course test points modification. (administrative)
    user_points BETA Get points of a student.
    user_points_modified BETA Notify USOS API that crstests points were modified. (administrative)

    services/crstests/all_user_points

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get all points which a token issuer got in nodes specified by node_ids parameter. Note that method returns points even that are invisible for students. This method should be used when all points are needed (e.g. for automatic grading (algorithm note).
    node_ids required Pipe-separated list of node ids. All the node_ids supplied should belong to one test tree.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    List of TestPointsObject.

    services/crstests/change_folder_node_permissions

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes permissions in a FolderNode.

    For each pair (user_id, perms) present in the set parameter this method will set permissions of user with ID = user_id to perms.

    For each pair (user_id, perms) present in th remove_from_subtree parameter this method will remove all permissions in the perms list for user with ID = user_id in the subtree of referenced node.

    node_id required node ID
    set required Dictionary mapping from user ID to lists of PermissionsObjects
    remove_from_subtree optional Dictionary mapping from user ID to lists of PermissionsObjects
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_folder_node_properties

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes properties of a FolderNode.
    Please note: only properties present in the parameters of this method will be changed (other properties will remain unchanged).
    node_id required node ID
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    visible_for_students optional boolean, if true the results from this node will be visible to students
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_grade_node_permissions

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes permissions in a GradeNode.

    For each pair (user_id, perms) present in the set parameter this method will set permissions of user with ID = user_id to perms.

    For each pair (user_id, perms) present in th remove_from_subtree parameter this method will remove all permissions in the perms list for user with ID = user_id in the subtree of referenced node.

    node_id required node ID
    set required Dictionary mapping from user ID to lists of PermissionsObjects
    remove_from_subtree optional Dictionary mapping from user ID to lists of PermissionsObjects
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_grade_node_properties

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes properties of a GradeNode.
    Please note: only properties present in the parameters of this method will be changed (other properties will remain unchanged).
    node_id required node ID
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    visible_for_students optional boolean, if true the results from this node will be visible to students
    algorithm optional source code of the algorithm used for automatic grading, (see algorithm note)
    variables optional variables of the algorithm used for automatic grading (see algorithm note)
    algorithm_description_pl optional description of the algorithm (in polish) used for automatic grading
    algorithm_description_en optional description of the algorithm (in polish) used for automatic grading
    dependencies optional dependencies of the algorithm used for automatic grading JSON encoded dictionary mapping node IDs to handles. (see algorithm note)
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_root_node_permissions

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes permissions in a RootNode.

    For each pair (user_id, perms) present in the set parameter this method will set permissions of user with ID = user_id to perms.

    For each pair (user_id, perms) present in th remove_from_subtree parameter this method will remove all permissions in the perms list for user with ID = user_id in the subtree of referenced node.

    node_id required node ID
    set required Dictionary mapping from user ID to lists of PermissionsObjects
    remove_from_subtree optional Dictionary mapping from user ID to lists of PermissionsObjects
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_root_node_properties

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes properties of a RootNode.
    Please note: only properties present in the parameters of this method will be changed (other properties will remain unchanged).
    node_id required node ID
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    visible_for_students optional boolean, if true the results from this node will be visible to students
    description_pl optional Description of the node (in polish)
    description_en optional Description of the node (in english)
    public optional boolean, should the template be visible to others, only permitted for roots of templates
    limit_to_groups optional string - 'false' if the root should not be limited to groups or List of strings. Each of the following format (without quotes): "(unit_id|group_number)" representing the groups this test should be limited to.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_task_node_permissions

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes permissions in a TaskNode.

    For each pair (user_id, perms) present in the set parameter this method will set permissions of user with ID = user_id to perms.

    For each pair (user_id, perms) present in th remove_from_subtree parameter this method will remove all permissions in the perms list for user with ID = user_id in the subtree of referenced node.

    node_id required node ID
    set required Dictionary mapping from user ID to lists of PermissionsObjects
    remove_from_subtree optional Dictionary mapping from user ID to lists of PermissionsObjects
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/change_task_node_properties

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Changes properties of a TaskNode.
    Please note: only properties present in the parameters of this method will be changed (other properties will remain unchanged).
    node_id required node ID
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    visible_for_students optional boolean, if true the results from this node will be visible to students
    algorithm optional source code of the algorithm used for automatic grading, (see algorithm note)
    variables optional variables of the algorithm used for automatic grading (see algorithm note)
    algorithm_description_pl optional description of the algorithm (in polish) used for automatic grading
    algorithm_description_en optional description of the algorithm (in polish) used for automatic grading
    dependencies optional dependencies of the algorithm used for automatic grading JSON encoded dictionary mapping node IDs to handles. (see algorithm note)
    points_precision optional integer in range [0, 3], the number of digits after the decimal dot
    points_min optional minimal number of points for a task, should be less or equal to 0, only permitted for task node
    points_max optional maximal number of points for a task, should be greater than 0, only permitted for task node
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/connect_template_to_course_edition

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Connects a template to a course edition.
    root_id required ID of the root of a template.
    course_id required Course ID of a course edition.
    term_id required Term ID of a course edition.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/create_folder_node

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Creates a FolderNode with the specified parameters.
    If you won't provide name_pl parameter, the default value = "Pusty Folder" will be used.
    parent_id required ID of the parent node for our new node. The type of this node must be root or folder.
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    order optional integer - order (see ordering)
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created FolderNode.

    services/crstests/create_grade_node

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Creates a GradeNode with the specified parameters.
    If you won't provide name_pl parameter, the default value = "Nowa Ocena" will be used.
    parent_id required ID of the parent node for our new node. The type of this node must be root or folder.
    grade_type required ID of the grade type. Same as 'grade_type_id' parameter of the grade_type method.
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    order optional integer - order (see ordering)
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created GradeNode.

    services/crstests/create_root_node

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Create a RootNode with specified parameters.
    If you won't provide name_pl parameter, the default value = "Pusty Szablon" will be used.
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    description_pl optional Description (in polish)
    description_en optional Description (in english)
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created RootNode (it will be a template).

    services/crstests/create_task_node

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Creates a TaskNode with the specified parameters.
    If you won't provide name_pl parameter, the default value = "Nowe Zadanie" will be used. If you won't provide some other parameters, their respective default values will be used.
    parent_id required ID of the parent node for our new node. The type of this node must be root or folder.
    name_pl optional Name of the node (in polish).
    name_en optional Name of the node (in english).
    order optional integer - order (see ordering)
    points_min optional Minimal number of points available for this task. Default value = 0.0
    points_max optional Maximal number of points available for this task. Default value = 10.0
    points_precision optional The number of digits after the decimal point. It should be used while displaying points from this node. Default value = 1
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created TaskNode.

    services/crstests/delete_subtree

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This methods deletes a subtree rooted in some supplied node. All the data of the nodes in the deleted subtree will be also erased.
    node_id required ID of the root of the subtree to delete.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/duplicate_subtree

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Duplicates a subtree of the test. The duplicated subtree has the same parent as the base subtree. The order of the root of the new subtree is highest possible i.e. it is added as the last child to the parent.
    Please note:
    • This methods can't duplicate whole trees i.e. You can't pass id of some root as 'node_id' parameter
    • Only structure, properties, and permissions are duplicated, grades and points are not duplicated
    node_id required ID of the node which is the root of the subtree we want to duplicate.
    name_pl required Name of the root of the duplicated subtree (in polish).
    name_en optional Name of the root of the duplicated subtree (in english).
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created root of the duplicated subtree (not the root of the whole tree).

    services/crstests/duplicate_tree

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Duplicates a test or a template. Only structure and properties are duplicated. Grades, points, permissions are not duplicated. The newly created tree is a template.
    root_id required ID of the root of the tree to duplicate.
    name_pl required Name of the new test (in polish).
    name_en optional Name of the new test (in english).
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Dictionary with only one key 'id'. ID of the newly created template.

    services/crstests/folder_node

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get detailed information about some FolderNode.
    node_id required node ID
    fields required Pipe-separated list of informational fields/sections you're interested in. This must be any subset of keys, which are described in the returns section.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • Primary:

      • node_id - Node's ID
      • root_id - ID of root node
      • parent_id - ID of parent node
      • order - integer, used to sort children
      • name - LangDict object - name of the node
      • visible_for_students - boolean - if true marks and points of this node are visible to students
      • type - This fields will be equal to "folder"
      • my_permissions - List of PermissionObjects representing permissions of of the access token issuer
    • Secondary:

      • permissions - Dictionary mapping userIDs to list of PermissionObjects. Each such list contains PermissionObjects for a particular user. Only ids of users that have ReadPerm permission in the root will be present in this dictionary

    services/crstests/grade_node

    Consumer: required Token: required Scopes: crstests | grades SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get detailed information about some GradeNode.
    node_id required node ID
    fields required Pipe-separated list of informational fields/sections you're interested in. This must be any subset of keys, which are described in the returns section.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • Primary:

      • node_id - Node's ID
      • root_id - ID of root node
      • parent_id - ID of parent node
      • order - integer, used to sort children
      • name - LangDict object - name of the node
      • visible_for_students - boolean - if true marks and points of this node are visible to students
      • type - This fields will be equal to "grade"
      • grade_type - Dictionary with single key 'id'. Same as 'grade_type_id' parameter of the grade_type method.
      • my_permissions - List of PermissionObjects representing permissions of of the access token issuer
    • Secondary:

      • permissions - Dictionary mapping userIDs to list of PermissionObjects. Each such list contains PermissionObjects for a particular user. Only ids of users that have ReadPerm permission in the root will be present in this dictionary
      • dependencies - A dictionary mapping node IDs to handles(see algorithm note)
      • variables - string, variables used in the algorithm (see algorithm note)
      • algorithm - string, algorithm (see algorithm note)
      • algorithm_description - LangDict object - description of the algorithm (see algorithm note)

    services/crstests/groups

    Consumer: required Token: required Scopes: none SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    If a root of a test has limit_to_groups parameter set then this method will return the groups the test is limited to, otherwise it will return all the groups of the course edition the test is connected to. The root_id you supply must be an ID of a test which is connected to some course edition.
    root_id required ID of a root of a test (this test must be a template).
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    List of the dictionaries of the following structure:
    • course_unit_id - unit_id
    • group_number - group_number

    services/crstests/lecturer

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This methods returns tests for which the lecturer has at least read access permission.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • tests - A dictionary mapping from term IDs to a list of dictionaries representing roots of tests, each of the following structure: The dictionary will contain primary fields from root_node method. Please note: templates to which the token issuer has read access will not be listed, they will be in in the templates field of the result.
    • templates - List of dictionaries representing roots of tests which are templates, each of the following structure: The dictionary will contain primary fields from root_node method.
    • terms - A dictionary mapping from term IDs (the keys of tests field) to the results of the term method. Only primary keys will be present.

    services/crstests/move_node

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    You can use this method to move whole subtree.
    node_id required ID of the node to move.
    new_parent_id required ID of the new parent of the moved node. Please note: the new parent can't belong to subtree You try to move
    new_order required New order of the moved node.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/node

    Consumer: required Token: optional Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method can be used to fetch whole subtree of a test, or only a node with its direct subnodes, see return section for more information.
    node_id required ID of the subtree root.

    Please note that this node doesn't have to be a RootNode.

    recursive required boolean - if true the whole subtree will be returned, otherwise only direct subnodes will be returned
    fields required Pipe-separated list of informational fields/sections you're interested in. This must be any subset of keys, which are described in the returns section.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus optional oauth_token for Token authorization.

    Returned value:

    Let's name a node with ID = node_id a current node. A dictionary describing the current node will be returned. This dictionary will be equal to the dictionary You would get by calling one of the methods: root_node, task_node, grade_node, folder_node with the fields parameter limited to those fields that are defined for each specific method. Except that this dictionary may contain one additional field subnodes (only if 'subnodes' is in fields) - a list of dictionaries, each representing a subnode of the current node. If recursive is set to true than those dictionaries also contain a subnodes field. You can get the details of a whole subtree that way. Moreover the dictionaries in the subnodes field will be sorted by the order key (see ordering);

    services/crstests/node_grades

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get all the grades given in some node. Please see the note about automatic grading (algorithm note).
    Notice: Please do not provide a user token here for this method.
    node_id required ID of a node.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    List of TestGradeObjects.

    services/crstests/node_points

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get all the points given in some node. Please see the note about automatic grading (algorithm note).
    Notice: Please do not provide a user token here for this method.
    node_id required Pipe-separated list of node ids
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    List of TestPointsObjects.

    services/crstests/participant

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method retrieves all the tests that concern a student.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • tests - A dictionary mapping from term IDs to list of dictionaries representing roots of tests, each of the following structure: The dictionary will contain primary fields from root_node method.
    • terms - A dictionary mapping from term IDs (the keys of tests field) to the results of the term method. Only primary keys will be present.

    services/crstests/public_templates

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get list of public templates.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    List of all public templates (represented as dictionaries). Each dictionary will contain primary fields from root_node method.

    services/crstests/root_node

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get detailed information about some RootNode.
    node_id required node ID
    fields required Pipe-separated list of informational fields/sections you're interested in. This must be any subset of keys, which are described in the returns section.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • Primary:

      • node_id - Node's ID
      • root_id - ID of root node
      • parent_id - ID of parent node
      • order - integer, used to sort children
      • name - LangDict object - name of the node
      • visible_for_students - boolean - if true marks and points of this node are visible to students
      • type - This field will be equal to "root"
      • public - Boolean - If a root is a root of a template then this fields is not null. If it is true then other users will be allowed to read this template.
      • limit_to_groups - If requested root is a template then this fields will be equal to null. If it is not a template and requested root is not limited to groups then this field will be equal to false. Otherwise it will be a list of dictionaries representing all the groups this test is limited to. The structure of these dictionaries will be:
        • course_unit_id- course unit ID
        • group_number- group number
      • course_edition - If this tree is a template, then this fields will be equal to null. Otherwise it will be a dictionary representing a course edition, same format as result of course_edition method. Following keys will be present: 'course_id', 'course_name', 'term_id', 'homepage_url', 'profile_url'
      • description - LangDict object with description of the test that this root represents.
      • my_permissions - List of PermissionObjects representing permissions of of the access token issuer
    • Secondary:

      • permissions - Dictionary mapping userIDs to list of PermissionObjects. Each such list contains PermissionObjects for a particular user. Only ids of users that have ReadPerm permission in the root will be present in this dictionary

    services/crstests/root_nodes

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get detailed information on multiple RootNodes.
    node_ids required Pipe-separated list of root node IDs.
    fields required Pipe-separated list of fields, same as in root_node.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary: your root_ids will be mapped to dictionary's keys, and each value will contain the description of a root node, as defined in the root_node

    services/crstests/subscribe

    Consumer: required Token: required Scopes: none SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method grants ReadPerm to a specified public template to an issuer. Please not that no permissions are required by this method.
    node_id required node ID
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/task_node

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get detailed information about some TaskNode.
    node_id required node ID
    fields required Pipe-separated list of informational fields/sections you're interested in. This must be any subset of keys, which are described in the returns section.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A dictionary of selected result fields and their values.

    Available fields:

    • Primary:

      • node_id - Node's ID
      • root_id - ID of root node
      • parent_id - ID of parent node
      • order - integer, used to sort children
      • name - LangDict object - name of the node
      • visible_for_students - boolean - if true marks and points of this node are visible to students
      • type - This fields will be equal to "task"
      • points_min - Float - minimal number of points.
      • points_max - Float - maximal number of points.
      • points_precision - Precision that should be used when displaying points from this node.
      • my_permissions - List of PermissionObjects representing permissions of of the access token issuer
    • Secondary:

      • permissions - Dictionary mapping userIDs to list of PermissionObjects. Each such list contains PermissionObjects for a particular user. Only ids of users that have ReadPerm permission in the root will be present in this dictionary
      • dependencies - A dictionary mapping node IDs to handles(see algorithm note)
      • variables - string, variables used in the algorithm (see algorithm note)
      • algorithm - string, algorithm (see algorithm note)
      • algorithm_description - LangDict object - description of the algorithm (see algorithm note)

    services/crstests/unsubscribe

    Consumer: required Token: required Scopes: none SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method removes ReadPerm permission in a public template for an issuer. Please note that no permissions are required by this method.
    node_id required node ID
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    Currently, this method always returns the same value: a dictionary with single success key with value of true.

    services/crstests/update_grades

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method enables a lecturer to give and change already given grades in a particular node. Please see the note about automatic grading (algorithm note).
    node_id required ID of the grade node.
    new_grades required Dictionary mapping from student ids to dictionaries of the following structure (these fields, except 'order' field match the fields of the TestGradeObject object):
    • public_comment - Comment intended to be viewed by the student
    • private_comment - Private comment of the grader, which should not be visible to the student
    • order - order of the given grade. Please consult grade_type for further information about possible values of this field. This field can also be equal to null or -1. Null signifies that the grade is empty and if some other grade was give in a node using automatic grading then that value will be used in further computations. Whereas the value of -1 means that the grade is empty and when some other grade was given in a node using automatic grading then it will not be used.
    • last_changed - This field is used to prevent simultaneous update of grades by two graders. It should be set to the 'last_changed' field You should previously fetch, or null if You believe a grade for this student haven't been given yet. So the workflow to use this method is: Firstly fetch available grades to retrieve 'last_changed' fields. Then try to update grades using the 'last_changed' values You fetched.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    If the method succeeds a dictionary with single key 'success' and value true will be returned. In case of the failure i.e. You are trying to modify grades that were modified in the meantime ('last_changed' parameters didn't match) we will respond with HTTP 400.

    services/crstests/update_points

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: required Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    This method enables a lecturer to give and change already given points in a particular node. Please see the note about automatic grading (algorithm note).
    new_points required Dictionary mapping from student ids to dictionaries of the following structure (these fields match the fields of the TestPointsObject object):
    • public_comment - Comment intended to be viewed by the student
    • points - number of points given to the student
    • last_changed - This field is used to prevent simultaneous update of points by two graders. It should be set to the 'last_changed' field You should previously fetch, or null if You believe a points for this student haven't been given yet. So the workflow to use this method is: Firstly fetch available points to retrieve 'last_changed' fields. Then try to update points using the 'last_changed' values You fetched.
    node_id required ID of the task node.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    If the method succeeds a dictionary with single key 'success' and value true will be returned. In case of the failure i.e. You are trying to modify grades that were modified in the meantime ('last_changed' parameters didn't match) we will respond with HTTP 400.

    services/crstests/user_grade

    Consumer: required Token: required Scopes: none SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get grade which a token issuer got in node specified by node_id parameter. Please see the note about automatic grading (algorithm note).

    node_id required The node id.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A single TestGradeObject or an empty dictionary if a token issuer does not have grade in node.

    services/crstests/user_grade_modified

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Notify USOS API about user's course test grade modification. USOS API notifications system will pass this information to those subscribed to crstests/user_grade event. This method does not check if the provided parameter value refers to a valid node. You do not need to call this method if it was you who modified the node grade or visibility through appropriate methods.

    operation required Operation that has been applied to user course test grade.
    node_id required The node id.
    related_user_ids required A list with one element: the ID of a user whose course points have been modified.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    Empty dictionary.

    services/crstests/user_grades

    Consumer: required Token: required Scopes: crstests | grades SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get grades which a token issuer got in nodes specified by node_ids parameter. Please see the note about automatic grading (algorithm note).

    node_ids required Pipe-separated list of node ids. All the node_ids supplied should belong to one test tree.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    List of TestGradeObject.

    services/crstests/user_grades_modified

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Notify USOS API about modifications of multiple user's course test grades. The result of this method is equal to calling user_grade_modified method multiple times. Note that you need administrative scope for user_grade_modified method in order to perform a successful call to this method.

    user_grade_modified_params required A list of dictionaries containing fields and values that match the parameters of user_grade_modified method.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    Empty dictionary.

    services/crstests/user_point

    Consumer: required Token: required Scopes: none SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get points which a token issuer got in node specified by node_id parameter. Please see the note about automatic grading (algorithm note).

    node_id required The node id.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    A single TestPointsObject or an empty dictionary if a token issuer does not have points in node.

    services/crstests/user_point_modified

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Notify USOS API about user's course test points modification. USOS API notifications system will pass this information to those subscribed to crstests/user_point event. This method does not check if the provided parameter value refers to a valid node. You do not need to call this method if it was you who modified the node points or visibility through appropriate methods.

    operation required Operation that has been applied to user course points.
    node_id required The node id.
    related_user_ids required A list with one element: the ID of a user whose course points have been modified.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    Empty dictionary.

    services/crstests/user_points

    Consumer: required Token: required Scopes: crstests SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Get points which a token issuer got in nodes specified by node_ids parameter. Please see the note about automatic grading (algorithm note).
    node_ids required Pipe-separated list of node ids. All the node_ids supplied should belong to one test tree.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Plus required oauth_token for Token authorization.

    Returned value:

    List of TestPointsObject.

    services/crstests/user_points_modified

    Administrative: This method requires a proper Administrative Consumer Key. Contact us to get one.

    Consumer: required (administrative) Token: ignored Scopes: n/a SSL: not required
    URLs of the methods are hidden, because this installation is the mother server.
    Click here for the list of all public USOS API installations.

    This is a BETA method. We're looking for beta-testers. Until we find them, there's a substantial probability it won't stay backwards-compatible! If you are planning on using this method, please let us know. Then, we will work with you and move it out of beta as soon as we can.

    Notify USOS API about modifications of multiple user's course test points. The result of this method is equal to calling user_point_modified method multiple times. Note that you need administrative scope for user_point_modified method in order to perform a successful call to this method.

    user_point_modified_params required A list of dictionaries containing fields and values that match the parameters of user_point_modified method.
    format optional

    Default value: json

    Format in which to return values. See supported output formats.
    callback optional Required only if you've chosen jsonp as a return format.
    Plus required standard OAuth Consumer signing arguments: oauth_consumer_key, oauth_nonce, oauth_timestamp, oauth_signature, oauth_signature_method, oauth_version. Token is not required.

    Returned value:

    Empty dictionary.
    USOS API ver. 6.1.2.0-bc1aa53 (2016-06-07)