We designed the Domoscio API in a Restful way, so that your user experience is simple and straightforward.
You will find in this documentation all the information necessary to interact with the API.
To keep in touch with the latest developments, check the Changelog just here!
The workflow to authentify is based on Oauth2 protocol. The AuthorizationToken is given to the user when he starts working with the Domoscio API. This token must remain secret. To have access to Domoscio functionalities the user should follow these steps:
The AuthorizationToken should be used inside the Header of the request when calling the API for the first time & when the RefreshToken expires:
Authorization: Bearer < AuthorizationToken >
Inside the response Header, the AccessToken and RefreshToken will be given:
AccessToken: < AccessToken >
RefreshToken: < RefreshToken >
The RefreshToken should now be used in the header of the API request with the AccessToken. Here is an example on how to retrieve the AccessToken & RefreshToken:
Domoscio API uses conventional HTTP response codes to indicate the success or failure of an API request. In general:
HTTP Status Code | Description |
200 - OK | Everything worked as expected. |
400 - Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 - Unauthorized | No valid Authentication Token provided. |
404 - Not Found | The requested resource doesn't exist. |
422 - Unprocessable Entity | The parameters were valid but the request failed, often due to already existing Objects with the input parameters. |
500, 502, 503, 504 - Server Errors | Something went wrong on Domoscio API's end. Please contact the Domoscio support. |
A KnowledgeGraph (KG) is the first object to instantiate while setting up your content on our API. It is the top level of aggregation for knowledge nodes and edges. You can use it to describe your course, a book or even your whole knowledge map.
Create KnowledgeGraphs with payload parameters
name | string Object name. |
uid | string Object UID. |
{- "name": "Corporate Finance",
- "uid": "fin101"
}
{- "id": 45,
- "name": "string",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "uid": "string"
}
Get KnowledgeGraphs with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
string or Array of strings Fetch the object(s) with name. | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 45,
- "name": "Corporate Finance",
- "created_at": "2020-04-06T11:33:34.756Z",
- "updated_at": "2020-04-06T11:33:34.883Z",
- "uid": "fin101"
}, - {
- "id": 46,
- "name": "Marketing",
- "created_at": "2020-04-06T11:33:56.814Z",
- "updated_at": "2020-04-06T11:33:56.865Z",
- "uid": "fin102"
}, - {
- "id": 47,
- "name": "Business Administration",
- "created_at": "2020-04-06T11:34:06.274Z",
- "updated_at": "2020-04-06T11:34:06.297Z",
- "uid": "fin103"
}
]
Get a specific knowledge graph
id required | integer <int64> Knowledge Graph ID |
{- "id": 45,
- "name": "Corporate Finance",
- "uid": "fin101",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Update a knowledge graph
id required | integer <int64> Knowledge Graph ID |
name | string Object name. |
uid | string Object UID. |
{- "name": "No more Corporate Finance",
- "uid": "fin101"
}
{- "id": 45,
- "name": "string",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "uid": "uid_object"
}
A KnowledgeNode (KN) is the second object to instantiate while setting up your content on our API. It is the central model of the application; it can be linked to multiple KnowledgeGraphs. You can use it to describe your content architecture, i.e skills, knowledges, know-hows, etc.
Create a KnowledgeNode object
name | string Object name. |
uid required | string Object UID. |
knowledge_graph_id | integer Object related to a set of KnowledgeGraph ID. It will create automatically the KnowledgeGraphNode that correspond to this association. |
knowledge_graph_uid | String Object related to a set of KnowledgeGraph UID. It will create automatically the KnowledgeGraphNode that correspond to this association. |
knowledge_graph_ids | Array Object related to a set of KnowledgeGraph IDs. It will create automatically the KnowledgeGraphNodes that correspond to the associations. |
knowledge_graph_uids | Array Object related to a set of KnowledgeGraph UIDs. It will create automatically the KnowledgeGraphNodes that correspond to the associations. |
description | string Object description |
mean | number Default: 60 Object's mean |
standard_deviation | number Default: 15 Object's standarddeviation |
{- "name": "Financial Assets",
- "uid": "fa",
- "knowledge_graph_id": 45
}
{- "id": 0,
- "knowledge_graph_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "name": "string",
- "uid": "string",
- "difficulty": 1,
- "description": "string"
}
Get KnowledgeNodes with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
knowledge_graph_id | integer Object related to a specific KnowledgeGraph ID. |
knowledge_graph_uid | string Object related to a specific KnowledgeGraph UID. |
string or Array of strings Fetch the object(s) with name. | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "knowledge_graph_id": 45,
- "created_at": "2020-04-07T09:33:21.171Z",
- "updated_at": "2020-04-07T09:33:21.171Z",
- "name": "Financial Assets",
- "uid": "fa",
- "difficulty": 1,
- "description": null
}, - {
- "id": 2,
- "knowledge_graph_id": 45,
- "created_at": "2020-04-07T09:52:09.142Z",
- "updated_at": "2020-04-07T09:52:09.142Z",
- "name": "Financial Assets 2",
- "uid": "fa2",
- "difficulty": 1,
- "description": null
}
]
Get a specific KnowledgeNode with ID or UID of the object
required | integer or string KnowledgeNode ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
{- "id": 2,
- "knowledge_graph_id": 45,
- "created_at": "2020-04-07T09:52:09.142Z",
- "updated_at": "2020-04-07T09:52:09.142Z",
- "name": "Financial Assets 2",
- "uid": "fa2",
- "difficulty": 1,
- "description": null
}
Update a KnowledgeNode
required | integer or string Knowledge Node ID or UID |
name | string Object name. |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
knowledge_graph_id | integer Object related to a specific KnowledgeGraph ID. |
knowledge_graph_uid | string Object related to a specific KnowledgeGraph UID. |
description | string Object description |
mean | number Default: 60 Object's mean |
standard_deviation | number Default: 15 Object's standarddeviation |
{- "name": "No more Financial Assets"
}
{- "id": 0,
- "knowledge_graph_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "name": "string",
- "uid": "string",
- "difficulty": 1,
- "description": "string"
}
A KnowlegeGraphNode (KGN) represents the relation between a specific KnowledgeNode and a KnowledgeGraph. A KnowledgeGraph can be linked to multiple KnowledgeNodes as a KnowledgeNode can be linked to multiple KnowledgeGraphs.
Create a KnowledgeGraphNode object
knowledge_graph_id required | integer Object related to a specific KnowledgeGraph ID, required only if no other knowledge_graph parameter in input. |
knowledge_graph_uid required | string Object related to a specific KnowledgeGraph ID, required only if no other knowledge_graph parameter in input. |
knowledge_node_id required | integer Object related to a specific KnowledgeNode ID, required only if no other knowledge_node parameter in input. |
knowledge_node_uid required | string Object related to a specific KnowledgeNode UID, required only if no other knowledge_node parameter in input. |
{- "knowledge_graph_id": 45,
- "knowledge_node_id": 64
}
{- "id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "knowledge_graph_id": 0,
- "knowledge_node_id": 0
}
Get KnowledgeGraphNodes with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
knowledge_graph_ids | Array of arrays Object related to a set of KnowledgeGraph IDs. |
knowledge_graph_uids | Array of arrays Object related to a set of KnowledgeGraph UIDs. |
knowledge_node_ids | Array of arrays Object related to a set of KnowledgeNode IDs. |
knowledge_node_uids | Array of arrays Object related to a set of KnowledgeNode UIDs. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "created_at": "2020-04-07T09:33:21.171Z",
- "updated_at": "2020-04-07T09:33:21.171Z",
- "knowledge_graph_id": 112,
- "knowledge_node_id": 899
}, - {
- "id": 2,
- "created_at": "2020-04-07T09:33:21.171Z",
- "updated_at": "2020-04-07T09:33:21.171Z",
- "knowledge_graph_id": 112,
- "knowledge_node_id": 890
}
]
Get a specific KnowledgeGraphNode with ID of the object
id required | integer KnowledgeGraphNode ID |
{- "id": 1,
- "created_at": "2020-04-07T09:52:09.142Z",
- "updated_at": "2020-04-07T09:52:09.142Z",
- "knowledge_graph_id": 45,
- "knowledge_node_id": 64
}
Update a KnowledgeGraphNode
required | integer or string Knowledge Node ID |
knowledge_graph_id | integer Object related to a specific KnowledgeGraph ID. |
knowledge_node_id | integer Object related to a specific KnowledgeNode |
{- "knowledge_graph_id": 0,
- "knowledge_node_id": 0
}
{- "id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "knowledge_graph_id": 0,
- "knowledge_node_id": 0
}
A KnowledgeEdge (KE) is the third object to instantiate to set up your knowledge’s structure on our API. The prerequisite relationship between KnowledgeNode object is symbolized through KnowledgeEdge object. The source of the edge corresponds to the base concept, while the destination is the one requiring prerequisite knowledge from the source node. Note that this object is not mandatory.
Create Knowledge Edges with payload parameters
source_node_id required | integer Source Node Id. |
destination_node_id required | integer Destination Node Id. |
knowledge_graph_id | integer Object related to a specific KnowledgeGraph ID. |
{- "source_node_id": 1,
- "knowledge_graph_id": 45,
- "destination_node_id": 2
}
{- "id": 1,
- "knowledge_graph_id": 45,
- "destination_node_id": 1,
- "source_node_id": 2,
- "created_at": "2020-04-07T14:56:58.711Z",
- "updated_at": "2020-04-07T14:56:58.711Z"
}
Get Knowledge Edges with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
source_node_id | integer Source Node Id. |
destination_node_id | integer Destination Node Id. |
knowledge_graph_id | integer Object related to a specific KnowledgeGraph ID. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "knowledge_graph_id": 45,
- "destination_node_id": 2,
- "source_node_id": 1,
- "created_at": "2020-04-07T13:47:41.051Z",
- "updated_at": "2020-04-07T13:47:41.051Z"
}, - {
- "id": 2,
- "knowledge_graph_id": 45,
- "destination_node_id": 1,
- "source_node_id": 3,
- "created_at": "2020-04-07T14:56:58.711Z",
- "updated_at": "2020-04-07T14:56:58.711Z"
}
]
Get a specific KnowledgeEdge with ID or UID of the object
id required | integer <int64> Example: 1 KnowledgeEdge ID or UID |
{- "id": 1,
- "knowledge_graph_id": 45,
- "destination_node_id": 1,
- "source_node_id": 2,
- "created_at": "2020-04-07T14:56:58.711Z",
- "updated_at": "2020-04-07T14:56:58.711Z"
}
A Content is any learning or evaluation resource. It can be a video, some text, a question, a picture, and so on. It is related to specific KnowledgeNode object.
Create contents with payload parameters
uid required | string UID of the content. |
name | string Name of the content. |
content_url | string Url of the content. |
content_sources | object Specify different content_sources (URL) for different student_groups (ID/UID). |
knowledge_node_id | integer Id of the Knowledge Node linked to the content. |
difficulty | number <float> Difficulty of the content in the scope of the Knowledge Node specified. |
type | string Type of the content that can be "Evaluation", "Learning" or "Action". Evaluation contents represent questions to test the student. Learning contents represent texts, videos and so on. Action contents represent challenges that the student can fulfill in real life. |
qti | string Based on QTI references for interoperability. Represent the .xml of the content to display. Please ask us to provide you with examples for each content types if you want to use this feature. |
{- "uid": "content_uid",
- "name": "Question 3 - Equations",
- "knowledge_node_id": 1,
- "difficulty": 3,
- "type": "Evaluation",
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}
{- "id": 45,
- "uid": "uid_object",
- "type": "Evaluation",
- "name": "Question 3 - Equations",
- "archived": true,
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Get contents with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
string or Array of strings Fetch the object(s) with name. | |
archived | boolean Fetch the object(s) that are archived or not. |
type | string Type of the content that can be "Evaluation", "Learning" or "Action". Evaluation contents represent questions to test the student. Learning contents represent texts, videos and so on. Action contents represent challenges that the student can fulfill in real life. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
{- "uid": "content_uid"
}
[- {
- "id": 45,
- "uid": "uid_object",
- "type": "Evaluation",
- "name": "Question 3 - Equations",
- "archived": true,
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
]
Get a specific Content
required | integer or string Content ID or UID |
{- "id": 45,
- "uid": "uid_object",
- "type": "Evaluation",
- "name": "Question 3 - Equations",
- "archived": true,
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Update a Content with payload parameters
required | integer or string Content ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
uid | string Object UID. |
name | string Object name. |
content_url | string Url of the Content. |
content_sources | object Specify different content_sources (URL) for different student_groups (ID/UID). |
qti | string Based on QTI references for interoperability. Represent the .xml of the content to display. Please ask us to provide you with examples for each content types if you want to use this feature. |
{- "key_type": "uid",
- "uid": "string",
- "name": "string",
- "content_url": "string",
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}
{- "id": 45,
- "uid": "uid_object",
- "type": "Evaluation",
- "name": "Question 3 - Equations",
- "archived": true,
- "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Archive or Unarchive Contents with payload parameters. Archived Contents won't be accessible in Adaptive and Memorize Objectives but statistics on the Content will still be available.
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
status required | boolean If set to true it will archive the Object, if set to false it will unarchive the Object. |
{- "id": 45,
- "status": true
}
true
A KnowledgeNodeContent (KNC) represents the relation between a specific Content and a KnowledgeNode object, it encapsulates several properties of the Content, like the difficulty and the importance degree, relative to the KnowledgeNode. Some will be computed based on the data gathered but some expect some initialization.
Create KnowledgeNodeContents with payload parameters
knowledge_node_id required | integer Object related to a specific KnowledgeGraph ID, required only if no other knowledge_graph parameter in input. |
knowledge_node_uid | string Object related to a specific KnowledgeGraph ID, required only if no other knowledge_graph parameter in input. |
content_id required | integer Object related to a specific Content ID, required only if no content_uid. |
content_uid | string Object related to a specific Content UID, required only if no content_id. |
difficulty | number <float> Default: 0 Difficulty of the content for this specific knowledge node |
{- "knowledge_node_id": 0,
- "knowledge_node_uid": "string",
- "content_id": 0,
- "content_uid": "string",
- "difficulty": 3
}
{- "id": 45,
- "knowledge_node_id": 0,
- "content_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "difficulty": 3,
- "content": {
- "id": 2005,
- "name": "Question 1 - Equations",
- "uid": "content_2005_uid"
}
}
Get Knowledge Node Contents with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
knowledge_node_id | integer Object related to a specific KnowledgeGraph ID. |
knowledge_node_uid | string Object related to a specific KnowledgeGraph UID. |
content_id | integer Object related to a specific Content |
content_uid | string Object related to a specific Content |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 45,
- "knowledge_node_id": 0,
- "content_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "difficulty": 3,
- "content": {
- "id": 2005,
- "name": "Question 1 - Equations",
- "uid": "content_2005_uid"
}
}
]
Get a specific KnowledgeNodeContent
id required | integer KnowledgeNodeContent ID |
{- "id": 45,
- "knowledge_node_id": 0,
- "content_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "difficulty": 3,
- "content": {
- "id": 2005,
- "name": "Question 1 - Equations",
- "uid": "content_2005_uid"
}
}
Update a KnowledgeNodeContent with payload parameters
id required | integer KnowledgeNodeContent ID |
difficulty | number <float> Default: 0 Difficulty of the Content for this specific KnowledgeNode. |
{- "difficulty": 3
}
{- "id": 45,
- "knowledge_node_id": 0,
- "content_id": 0,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "difficulty": 3,
- "content": {
- "id": 2005,
- "name": "Question 1 - Equations",
- "uid": "content_2005_uid"
}
}
Tag object represents any type of metadata that you may add to any existing object. This object contains the semantical information to tag. You can use Tagging objects to actually "tag" these "taggable" existing object.
As a convenience, you can gather a specific set of Tags into a TagSet object. Moreover, it lets you organize a hierarchical level of Tag objects. It can contain as many Tag and TagEdge objects as desired.
Create a TagSet object
name | string Object name. |
uid required | string Object UID. |
user_modelisation | boolean Default: false True if this tag set is used for user modelisation. |
{- "name": "Evaluation",
- "uid": "eval"
}
{- "id": 4,
- "name": "Evaluation",
- "created_at": "2020-04-15T08:50:53.193Z",
- "updated_at": "2020-04-15T08:50:53.193Z",
- "uid": "eval",
- "user_modelisation": false
}
Get TagSets with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
name | string Object name. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "name": "Nature",
- "created_at": "2020-04-05T13:13:40.224Z",
- "updated_at": "2020-04-05T13:13:40.224Z",
- "uid": "Nature_of_contents",
- "user_modelisation": false
}, - {
- "id": 2,
- "name": "Cost",
- "created_at": "2020-04-05T13:13:40.281Z",
- "updated_at": "2020-04-05T13:13:40.281Z",
- "uid": "Cost",
- "user_modelisation": false
}, - {
- "id": 3,
- "name": "filter_allowed",
- "created_at": "2020-04-05T13:13:40.295Z",
- "updated_at": "2020-04-05T13:13:40.295Z",
- "uid": "filter_allowed",
- "user_modelisation": false
}, - {
- "id": 4,
- "name": "Evaluation",
- "created_at": "2020-04-15T08:50:53.193Z",
- "updated_at": "2020-04-15T08:50:53.193Z",
- "uid": "eval",
- "user_modelisation": false
}
]
Get a specific Tagset with ID or UID
required | integer or string Example: 4 TagSet ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
{- "id": 4,
- "name": "Evaluation",
- "created_at": "2020-04-15T08:50:53.193Z",
- "updated_at": "2020-04-15T08:50:53.193Z",
- "uid": "eval",
- "user_modelisation": false
}
Update a Tagset
required | integer or string Example: 4 TagSet ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
name | string Object name. |
{- "name": "New Evaluation"
}
{- "id": 4,
- "name": "New Evaluation",
- "created_at": "2020-04-15T08:01:22.715Z",
- "updated_at": "2020-04-15T09:13:14.588Z",
- "uid": "tagset1",
- "user_modelisation": true
}
A TagEdge object represents the edges among the TagSet objects. This object represents the links between two Tag objects of the TagSet.
Create a TagEdge object
ancestor_id required | integer The Tag object ID this TagEdge object points to. |
descendant_id required | integer The Tag object ID this TagEdge object comes from. |
{- "ancestor_id": 2,
- "descendant_id": 1
}
{- "id": 1,
- "ancestor_id": 2,
- "descendant_id": 1,
- "tag_set_id": 1,
- "created_at": "2020-04-15T09:44:35.189Z",
- "updated_at": "2020-04-15T09:44:35.189Z"
}
Get TagEdges with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
ancestor_id | integer The Tag object ID this TagEdge object points to. |
descendant_id | integer The Tag object ID this TagEdge object comes from. |
tag_set_id | integer Tags set ID related to this object. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "ancestor_id": 2,
- "descendant_id": 1,
- "tag_set_id": 1,
- "created_at": "2020-04-15T09:44:35.189Z",
- "updated_at": "2020-04-15T09:44:35.189Z"
}, - {
- "id": 2,
- "ancestor_id": 2,
- "descendant_id": 4,
- "tag_set_id": 1,
- "created_at": "2020-04-15T09:50:12.572Z",
- "updated_at": "2020-04-15T09:50:12.572Z"
}
]
Get a specific TagEdge.
id required | integer <int64> Example: 1 TagEdge ID |
{- "id": 1,
- "ancestor_id": 2,
- "descendant_id": 1,
- "tag_set_id": 1,
- "created_at": "2020-04-15T09:44:35.189Z",
- "updated_at": "2020-04-15T09:44:35.189Z"
}
The Tagging object represents a logical link between a Taggable object and a Tag. Among the Taggable objects we count KnowledgeNode, KnowledgeEdge, KnowledgeGraph, and Content objects.
Create a Tagging object
tag_id required | integer The Tag ID this Tagging object belongs to, required if no tag_uid |
tag_uid required | string The Tag UID this Tagging object belongs to, required if no tag_id |
taggable_id required | integer The Taggable Object ID this Tagging object belongs to, required if no taggable_uid |
taggable_uid required | integer The Taggable Object UID this Tagging object belongs to, required if no taggable_id |
taggable_type required | string The Taggable Object Type this Tagging object belongs to (KnowledgeNode, KnowledgeEdge, KnowledgeGraph, Content, Objective) |
strength | number <float> Relationship Strength between the object and the tag |
{- "tag_id": 1,
- "taggable_id": 2,
- "taggable_type": "KnowledgeNode"
}
{- "id": 3,
- "tag_id": 1,
- "taggable_id": 2,
- "taggable_type": "KnowledgeNode",
- "created_at": "2020-04-15T11:53:46.391Z",
- "updated_at": "2020-04-15T11:53:46.391Z",
- "strength": null
}
Get Taggings with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
tag_id | integer The Tag ID this Tagging object belongs to |
tag_uid | string The Tag UID this Tagging object belongs to |
taggable_id | integer The Taggable Object ID this Tagging object belongs to |
content_uid | string Object related to a specific Content |
taggable_type | string The Taggable Object Type this Tagging object belongs to (KnowledgeNode, KnowledgeEdge, KnowledgeGraph, Content, Objective) |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "tag_id": 1,
- "taggable_id": 1,
- "taggable_type": "Content",
- "created_at": "2020-04-14T12:09:54.159Z",
- "updated_at": "2020-04-14T12:09:54.159Z",
- "strength": null
}, - {
- "id": 2,
- "tag_id": 1,
- "taggable_id": 2,
- "taggable_type": "Content",
- "created_at": "2020-04-14T12:10:05.415Z",
- "updated_at": "2020-04-14T12:10:05.415Z",
- "strength": null
}, - {
- "id": 3,
- "tag_id": 1,
- "taggable_id": 2,
- "taggable_type": "KnowledgeNode",
- "created_at": "2020-04-15T11:53:46.391Z",
- "updated_at": "2020-04-15T11:53:46.391Z",
- "strength": null
}
]
Get a specific Tagging.
id required | integer <int64> Example: 1 Tagging ID |
{- "id": 1,
- "tag_id": 1,
- "taggable_id": 1,
- "taggable_type": "Content",
- "created_at": "2020-04-14T12:09:54.159Z",
- "updated_at": "2020-04-14T12:09:54.159Z",
- "strength": null
}
Create Students and Civil profiles with payload parameters
uid required | integer UID of the student. |
active | boolean Default: true Status of the student. |
is_test_student | boolean Default: false Whether the student is a test student or a real one. |
student_group_id | integer The StudentGroup to which the Student is related. |
object Information about the student civil profile. |
{- "uid": "student_uid",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "civil_profile_attributes": {
- "student_infos": {
- "name": "John",
- "date_of_birth": "01/04/2000"
}
}
}
{- "id": 45,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "uid": "student_uid",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "last_activity": null
}
Get Students with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
string or Array of strings Fetch the object(s) with name. | |
student_group_id | integer The StudentGroup to which the Student is related. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
{- "uid": "uid_object"
}
[- {
- "id": 45,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "instance_id": 3,
- "uid": "uid_object",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "last_activity": "2020-03-25T13:34:08.909Z",
- "learning_profile": {
- "capacity": 0.5
}, - "civil_profile": {
- "student_infos": { }
}
}
]
Get a specific Student with his ID or UID
required | integer or string Student ID or uid if key_type='uid' |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
[- {
- "id": 45,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "uid": "student_uid",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "last_activity": null,
- "learning_profile": {
- "capacity": 0.5
}, - "civil_profile": {
- "student_infos": { }
}
}
]
Update a specific Student with his ID or UID
required | integer or string Student ID or UID if key_type='uid' |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
active | boolean Status of the student. |
is_test_student | boolean Default: false Whether the student is a test student or a real one. |
student_group_id | integer The StudentGroup to which the Student is related. |
uid | integer UID of the student. |
object Information about the student civil profile. |
{- "key_type": "uid",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "uid": "student_uid",
- "civil_profile_attributes": {
- "student_infos": {
- "name": "John",
- "date_of_birth": "01/04/2000"
}
}
}
{- "id": 45,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "uid": "string",
- "active": true,
- "is_test_student": false,
- "student_group_id": 0,
- "last_activity": null,
- "learning_profile": {
- "capacity": 0.5
}, - "civil_profile": {
- "student_infos": {
- "name": "John",
- "date_of_birth": "01/04/2000"
}
}
}
A StudentGroup is an object that can be used to group a specific set of students. Note that a Student can belong to only one StudentGroup.
Create a StudentGroup object
name | string Object name. |
uid required | string Object UID. |
{- "name": "group_1",
- "uid": "gp1"
}
{- "id": 1,
- "uid": "gp1",
- "name": "group_1",
- "created_at": "2020-04-15T08:02:51.902Z",
- "updated_at": "2020-04-15T08:02:51.902Z"
}
Get StudentGroups with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
name | string Object name. |
[ ]
[- {
- "id": 1,
- "uid": "gp1",
- "name": "group_1",
- "created_at": "2020-04-05T13:13:40.271Z",
- "updated_at": "2020-04-05T13:13:40.271Z"
}, - {
- "id": 2,
- "uid": "gp2",
- "name": "group_2",
- "created_at": "2020-04-05T13:13:40.276Z",
- "updated_at": "2020-04-05T13:13:40.276Z"
}, - {
- "id": 3,
- "uid": "gp3",
- "name": "group_3",
- "created_at": "2020-04-05T13:13:40.290Z",
- "updated_at": "2020-04-05T13:13:40.290Z"
}
]
Get a specific StudentGroup with ID or UID
required | integer or string Example: 2 StudentGroup ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
{- "id": 2,
- "uid": "gp2",
- "name": "group_2",
- "created_at": "2020-04-05T13:13:40.276Z",
- "updated_at": "2020-04-05T13:13:40.276Z"
}
Update a StudentGroup
required | integer or string Example: 2 StudentGroup ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
name | string Object name. |
uid | string Object UID. |
{- "name": "new_group_2"
}
{- "id": 2,
- "uid": "gp2",
- "name": "new_group_2",
- "created_at": "2020-04-05T13:13:40.276Z",
- "updated_at": "2020-04-15T08:35:39.187Z"
}
An Objective should be considered a pedagogical learning objective or learning path, composed of several KnowledgeNode objects. It only includes the concepts you want the learner to master, we analyze the gap between his/her current knowledge state and the knowledge objective that is set to provide recommendations or revisions. To do this, we use the knowledge structure among other things and the parameters set while assigning the Objective object to a Student.
Create an Objective object
adaptive | boolean If it's a Hub objective. |
memorize | boolean If it's a Lock objective. |
name | string Object name. |
uid required | string Object UID. |
learning_program_id | integer LearningProgram ID. |
learning_program_uid | string LearningProgram UID. |
required | object Set of objects; IDs or UIDs of KnowledgeNodes, KnowledgeGraphs, Tags related to this Objective |
target_only | boolean This parameter can be used to restrict the Objective. If true, the reviews and the instruction will be kept to the objects declared in the Objective. Otherwise it will extend to the KnowledgeNode ancestors. |
validation_strategy | string Default: "mastery" Enum: "mastery" "number" "ratio" "streak" The strategy used to validate the Objective by the Student. It can either be:
|
validation_threshold | number <float> The threshold value to reach to validate the Objective. Depending the validation strategy choosen, it can either be:
|
validation_thresholds | object Specify a certain threshold for each KnowledgeNode associated to the Objective. You can either Specify this or the validation_threshold. |
object This attribute contains all the options concerning the Adaptive Learning Objective. | |
object This attribute contains all the options concerning the Memorization Objective. |
{- "adaptive": true,
- "memorize": false,
- "name": "Objective 1",
- "learning_program_id": 1,
- "learning_program_uid": "uid_experience",
- "objects": {
- "knowledge_node_ids": [
- 1,
- 2,
- 3
], - "tags": [
- 22,
- 45,
- 10
]
}, - "target_only": true,
- "uid": "Obj2",
- "validation_strategy": "number",
- "validation_thresholds": {
- "knowledge_node_ids": {
- "1": 4,
- "2": 7
}, - "knowledge_node_uids": {
- "kn_uid_3": 3
}
}
}
{- "id": 0,
- "uid": "string",
- "adaptive": true,
- "memorize": false,
- "name": "string",
- "learning_program_id": 0,
- "learning_program_uid": "string",
- "objects": {
- "knowledge_node_ids": [
- 1,
- 2,
- 3
], - "knowledge_node_uids": null,
- "knowledge_graph_ids": null,
- "knowledge_graph_uids": null,
- "tags": [
- 22,
- 45,
- 10
], - "tag_filters": {
- "knowledge_nodes": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}, - "contents": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}
}
}, - "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z",
- "target_only": false,
- "validation_strategy": "number",
- "validation_threshold": 4,
- "validation_thresholds": { },
- "adaptive_options": { },
- "memorize_options": {
- "wider_interval": true
}
}
Get Objectives with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
learning_program_id | integer LearningProgram ID. |
learning_program_uid | string LearningProgram UID. |
string or Array of strings Fetch the object(s) with name. | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "uid": "Obj1",
- "name": "Objective 1",
- "adaptive": true,
- "memorize": false,
- "learning_program_id": 1,
- "learning_program_uid": "uid_experience",
- "objects": {
- "knowledge_node_ids": [
- 1,
- 2,
- 3
], - "knowledge_node_uids": null,
- "knowledge_graph_ids": null,
- "knowledge_graph_uids": null,
- "tags": null,
- "tag_filters": {
- "knowledge_nodes": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}, - "contents": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}
}
}, - "created_at": "2020-04-08T12:19:37.238Z",
- "updated_at": "2020-04-08T12:19:37.238Z",
- "target_only": true,
- "validation_strategy": "number",
- "validation_threshold": 4,
- "validation_thresholds": null,
- "adaptive_options": { },
- "memorize_options": { }
}, - {
- "id": 2,
- "uid": "Obj2",
- "name": "Objective 2",
- "adaptive": true,
- "memorize": false,
- "learning_program_id": 1,
- "learning_program_uid": "uid_experience",
- "objects": {
- "knowledge_node_ids": [
- 2,
- 3
], - "knowledge_node_uids": null,
- "knowledge_graph_ids": null,
- "knowledge_graph_uids": null,
- "tags": null,
- "tag_filters": {
- "knowledge_nodes": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}, - "contents": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}
}
}, - "created_at": "2020-04-08T12:19:37.238Z",
- "updated_at": "2020-04-08T12:19:37.238Z",
- "target_only": true,
- "validation_strategy": "number",
- "validation_threshold": 4,
- "validation_thresholds": null,
- "adaptive_options": { },
- "memorize_options": { }
}
]
Get a specific Objective with ID or UID of the object
required | integer or string Example: 1 Objective ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
{- "id": 1,
- "uid": "Obj1",
- "name": "Objective 1",
- "adaptive": true,
- "memorize": false,
- "learning_program_id": 1,
- "learning_program_uid": "uid_experience",
- "objects": {
- "knowledge_node_ids": [
- 1,
- 2,
- 3
], - "knowledge_node_uids": null,
- "knowledge_graph_ids": null,
- "knowledge_graph_uids": null,
- "tags": null,
- "tag_filters": {
- "knowledge_nodes": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}, - "contents": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}
}
}, - "created_at": "2020-04-08T12:19:37.238Z",
- "updated_at": "2020-04-08T12:19:37.238Z",
- "target_only": true,
- "validation_strategy": "number",
- "validation_threshold": 4,
- "validation_thresholds": null,
- "adaptive_options": { },
- "memorize_options": { }
}
Update an Objective
required | integer or string Example: 1 Objective ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
uid | string Objective UID. Same UID cannot be set for two different Objectives, it must be unique. |
name | string Object name. |
objects | object Set of objects; IDs or UIDs of KnowledgeNodes, KnowledgeGraphs, Tags related to this Objective |
{- "name": "New Objective name"
}
{- "id": 1,
- "uid": "Obj1",
- "name": "New Objective name",
- "adaptive": true,
- "memorize": false,
- "learning_program_id": 1,
- "learning_program_uid": "uid_experience",
- "objects": {
- "knowledge_node_ids": [
- 1,
- 2,
- 3
], - "knowledge_node_uids": null,
- "knowledge_graph_ids": null,
- "knowledge_graph_uids": null,
- "tags": null,
- "tag_filters": {
- "knowledge_nodes": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}, - "contents": {
- "adaptive": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}, - "memorize": {
- "tag_id": {
- "include": null,
- "exclude": null
}, - "tag_uid": {
- "include": null,
- "exclude": null
}
}
}
}
}, - "created_at": "2020-04-08T12:19:37.238Z",
- "updated_at": "2020-04-08T12:19:37.238Z",
- "target_only": true,
- "validation_strategy": "number",
- "validation_threshold": 4,
- "validation_thresholds": null,
- "adaptive_options": { },
- "memorize_options": { }
}
An ObjectiveKnowledgeNode represents the KnowledgeNode scope of the Objective.
Get ObjectiveKnowledgeNodes with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
knowledge_node_id | integer Object related to a specific KnowledgeNode |
knowledge_node_uid | string Object related to a specific KnowledgeNode |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "created_at": "2020-04-08T12:19:37.868Z",
- "updated_at": "2020-04-08T12:19:38.362Z",
- "objective_id": 1,
- "knowledge_node_id": 3,
- "instance_id": 1,
- "target": true
}, - {
- "id": 2,
- "created_at": "2020-04-08T12:19:38.386Z",
- "updated_at": "2020-04-08T12:19:38.412Z",
- "objective_id": 1,
- "knowledge_node_id": 1,
- "instance_id": 1,
- "target": true
}, - {
- "id": 3,
- "created_at": "2020-04-08T12:19:38.458Z",
- "updated_at": "2020-04-08T12:19:38.489Z",
- "objective_id": 1,
- "knowledge_node_id": 2,
- "instance_id": 1,
- "target": true
}
]
Get a specific ObjectiveKnowledgeNode by ID
id required | integer <int64> Example: 1 ObjectiveKnowledgeNode ID |
{- "id": 1,
- "created_at": "2020-04-08T12:19:37.868Z",
- "updated_at": "2020-04-08T12:19:38.362Z",
- "objective_id": 1,
- "knowledge_node_id": 3,
- "instance_id": 1,
- "target": true
}
A LearningProgram can be used to group Objectives together and orchestrate them through starting strategies.
Create LearningPrograms with payload parameters
uid required | string Object UID. |
name | string Object name. |
description | string Object description |
start_strategy | string Enum: "at_subscription" "previous_objective_validated" "with_trigger" Start strategy to define for all the Objectives of the LearningProgram |
start_session_at | date Starting date of the sessions of all Objectives of the LearningProgram. This attribute will override the start_strategy and days_after_subscription. |
days_after_subscription | integer The number of days after subscription date to start all Objectives of the LearningProgram. This attribute will override the start_strategy. |
active_duration_days | integer The number of days after subscription to close all Objectives of the LearningProgram. |
{- "uid": "lp_1",
- "name": "Course 1",
- "start_strategy": "at_subscription"
}
{- "id": 1,
- "uid": "lp_1",
- "archived": false,
- "closed": false,
- "name": "Course 1",
- "description": null,
- "start_strategy": "at_subscription",
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Get LearningPrograms with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
id | integer Object ID. |
uid | string Object UID. |
archived | boolean Whether the LearningProgram is archived |
name | string Object name. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
with_details | boolean Default: false This option gives a list of associated knowledge nodes and knowledge graphs |
[ ]
[- {
- "id": 1,
- "archived": false,
- "closed": false,
- "uid": "lp_1",
- "name": "Course 1",
- "description": null,
- "start_strategy": "at_subscription",
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
]
Get a specific LearningProgram with ID or UID
required | integer or string Example: lp_1 LearningProgram ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
{- "id": 1,
- "uid": "lp_1",
- "archived": false,
- "closed": false,
- "name": "Course 1",
- "description": null,
- "start_strategy": "at_subscription",
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Update a LearningProgram
required | integer or string Example: lp_1 LearningProgram ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
uid | string Object UID. |
archived | boolean To archive/unarchive a LearningProgram |
closeed | boolean To close/unclose a LearningProgram |
name | string Object name. |
description | string Object description |
start_strategy | string Enum: "at_subscription" "previous_objective_validated" "with_trigger" Start strategy to define for all the Objectives of the LearningProgram |
start_session_at | date Starting date of the sessions of all Objectives of the LearningProgram. This attribute will override the start_strategy and days_after_subscription. |
days_after_subscription | integer The number of days after subscription date to start all Objectives of the LearningProgram. This attribute will override the start_strategy. |
active_duration_days | integer The number of days after subscription to close all Objectives of the LearningProgram. |
{- "key_type": "uid",
- "name": "New Course 1"
}
{- "id": 1,
- "uid": "lp_1",
- "archived": false,
- "closed": false,
- "name": "New Course 1",
- "description": null,
- "start_strategy": "at_subscription",
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Please note that the deletion of an object is permanent and irrevocable, we advise deleting objects with care and attention.
required | integer or string Example: lp_1 LearningProgram ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "key_type": "uid"
}
true
A Subscription enrolls a Student or a StudentGroup to an Objective or a LearningProgram.
Create a Subscription. There are two types of Subscription. You can either subscribe a Student to a LearningProgram or directly to an Objective.
uid | string Object UID. |
student_id | integer ID of the Student concerned by the Subscription (Student or StudentGroup is required in input) |
student_uid | string UID of the Student concerned by the Subscription (Student or StudentGroup is required in input) |
student_group_id | integer ID of the StudentGroup concerned by the Subscription (Student or StudentGroup is required in input) |
student_group_uid | string UID of the StudentGroup concerned by the Subscription (Student or StudentGroup is required in input) |
objective_id | integer ID of Objective which the Student(s) will be enrolled (Objective or LearningProgram is required in input) |
objective_uid | string UID of Objective which the Student(s) will be enrolled (Objective or LearningProgram is required in input) |
learning_program_id | integer ID of LearningProgram which the Student(s) will be enrolled (Objective or LearningProgram is required in input) |
learning_program_uid | string UID of LearningProgram which the Student(s) will be enrolled (Objective or LearningProgram is required in input) |
synchronous_init | boolean Whether to perform the initialization of the Subscription synchronously or asynchronously. That can be interesting to perform the initialization asynchronously in case of subscription of a large number of Students. |
start_strategy | string Enum: "at_subscription" "previous_objective_validated" "with_trigger" Start strategy to define for all the Objectives of the LearningProgram. It will override start_strategy defined in LearningProgram and Objectives. |
start_session_at | date Starting date of the sessions of all Objectives of the LearningProgram. This attribute will override the start_strategy and days_after_subscription. |
days_after_subscription | integer The number of days after subscription date to start all Objectives of the LearningProgram. This attribute will override the start_strategy. |
active_duration_days | integer The number of days after subscription to close all Objectives of the LearningProgram. |
{- "learning_program_uid": "lp_1",
- "student_uid": "student_1",
- "synchronous_init": true
}
{- "id": 1,
- "uid": null,
- "learning_program_id": 1,
- "learning_program_uid": "lp_1",
- "student_id": 1,
- "student_uid": "student_1",
- "start_strategy": null,
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2020-04-15T08:02:51.902Z",
- "updated_at": "2020-04-15T08:02:51.902Z"
}
Get Subscriptions with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
type required | string Type of Subscription to consider when fetching Subscriptions. |
integer or Array of integers Fetch Subscriptions with Student ID(s). | |
string or Array of strings Fetch Subscriptions with Student UID(s). | |
integer or Array of integers Fetch Subscriptions with StudentGroup ID(s). | |
string or Array of strings Fetch Subscriptions with StudentGroup UID(s). | |
integer or Array of integers Fetch Subscriptions with Objective ID(s). | |
string or Array of strings Fetch Subscriptions with Objective UID(s). | |
integer or Array of integers Fetch Subscriptions with LearningProgram ID(s). | |
string or Array of strings Fetch Subscriptions with LearningProgram UID(s). | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "uid": null,
- "learning_program_id": 1,
- "learning_program_uid": "lp_1",
- "student_id": 1,
- "student_uid": "student_1",
- "start_strategy": null,
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2020-04-15T08:02:51.902Z",
- "updated_at": "2020-04-15T08:02:51.902Z"
}, - {
- "id": 2,
- "uid": null,
- "learning_program_id": 1,
- "learning_program_uid": "lp_1",
- "student_id": 2,
- "student_uid": "student_2",
- "start_strategy": null,
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2020-04-15T08:02:51.902Z",
- "updated_at": "2020-04-15T08:02:51.902Z"
}
]
Unsubscribe Student(s) from LearningProgram(s) or Objective(s)
integer or Array of integers Student ID(s) to unsubscribe. | |
string or Array of strings Student UID(s) to unsubscribe. | |
integer or Array of integers StudentGroup ID(s) to unsubscribe. | |
string or Array of strings StudentGroup UID(s) to unsubscribe. | |
integer or Array of integers Objective ID(s) to unsubscribe the Student(s) from. | |
string or Array of strings Objective UID(s) to unsubscribe the Student(s) from. | |
integer or Array of integers LearningProgram ID(s) to unsubscribe the Student(s) from. | |
string or Array of strings LearningProgram UID(s) to unsubscribe the Student(s) from. |
{- "learning_program_uid": "lp_1",
- "student_uid": "student_1"
}
true
Get a specific Subscription with ID or UID
required | integer or string Example: 2 Subscription ID or UID |
type | string Enum: "LearningProgram" "Objective" Type of Subscription to consider when fetching Subscriptions. |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
{- "type": "LearningProgram"
}
{- "id": 2,
- "uid": null,
- "learning_program_id": 1,
- "learning_program_uid": "lp_1",
- "student_id": 2,
- "student_uid": "student_2",
- "start_strategy": null,
- "start_session_at": null,
- "days_after_subscription": null,
- "active_duration_days": null,
- "created_at": "2020-04-15T08:02:51.902Z",
- "updated_at": "2020-04-15T08:02:51.902Z"
}
Start manually an Objective for a given Student
student_id | integer ID of the Student concerned to start the Objective. |
student_uid | string UID of the Student concerned to start the Objective. |
objective_id | integer ID of Objective to initialize. |
objective_uid | string UID of Objective to initialize. |
{- "objective_uid": "obj_1",
- "student_uid": "student_1"
}
true
An ObjectiveStudent (OS) is created to assign an Objective to a Student. It encapsulates several parameters regarding the student and the specific objective it is related to. It can be an Adapative ObjectiveStudent or a Memorize one. An ObjectiveStudent is set as reached when the current Student’s mastery bypass all the encompassed KnowledgeNode mastery threshold.
Create an ObjectiveStudent object
uid | string Object UID. |
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
objective_id required | integer Objective ID. |
objective_uid required | string Objective UID, required if no objective_id. |
memorize | boolean Default: true Activates memorization process after learning process (if adaptive set to true) or if no learning process will start immediately. |
deadline | string <date> Deprecated Deadline for the review sessions in the memorization process. |
adaptive | boolean Default: false Activates adaptive learning process (CAT, Evaluation/learning Recommendations, ...) |
required_score | number Expected student score (the score representing the level of mastery of the student between 0 and 1) to validate the objective. |
mastery_percentage | number Expected mastery percentage to validate the objective. The mastery percentage is a threshold (between 0 and 1) based on the difficulties of the questions. Higher the mastery percentage is, higher are the difficulties of the questions that the student have to succeed to validate the objective. |
knowledge_node_strategy | string Used strategy to choose the best KnowledgeNode. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
content_strategy | string Used strategy to choose the best content. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
knowledge_node_level | object Threshold value for validation per knowledge node (value between -4 and 4). |
object This attribute contains all the options concerning the Adaptive Learning Objective. | |
object This attribute contains all the options concerning the Memorization Objective. | |
object This attribute contains all the options concerning Positioning Attempts. | |
skip_delay | boolean Whether to initialize adaptive/memorize objective for the student synchronously or not. |
{- "student_id": 14,
- "objective_id": 3,
- "memorize": true
}
{- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": null,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "attempt_options": { },
- "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
Get ObjectiveStudent with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
student_id | integer Student ID. |
student_uid | string Student UID, required if no student_id. |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": null,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "attempt_options": { },
- "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
]
Update Multiple ObjectiveStudents.
id required | integer Object ID |
uid required | string Object UID. |
active | boolean Whether the ObjectiveStudent is active or not |
closed | boolean Whether the ObjectiveStudent is closed or not |
interest | integer Score of interest between the student and his Objective. |
time_spent | integer Time spent by the Student in this Objective. |
knowledge_node_strategy | string Used strategy to choose the best KnowledgeNode. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
content_strategy | string Used strategy to choose the best content. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
deadline | string <date> Objective deadline for a specific Student. |
{- "id": [
- 12,
- 13,
- 17
], - "closed": true
}
[- {
- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": true,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "attempt_options": { },
- "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
]
Get a specific ObjectiveStudent with ID
id required | integer <int64> Example: 30 ObjectiveStudent ID |
{- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": null,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "attempt_options": { },
- "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
Update an ObjectiveStudent object
id required | integer <int64> Example: 30 ObjectiveStudent ID |
closed | boolean |
active | boolean Status of the objective linked to the student. |
interest | integer Score of interest between the student and his Objective. |
time_spent | integer Time spent by the Student in this Objective. |
knowledge_node_strategy | string Used strategy to choose the best KnowledgeNode. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
content_strategy | string Used strategy to choose the best content. Please consult us to discuss which strategy best fits your needs otherwise use default value to trigger a standard behaviour. |
uid | string Object UID. |
deadline | string <date> Objective deadline for a specific Student. |
{- "closed": true
}
{- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": true,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "attempt_options": { },
- "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
Create multiple ObjectiveStudents (OS) in one request.
objective_students | Array of arrays An array of OS in JSON format, please refer to the single OS object for the required parameters. |
synchronous | boolean Default: false Specify if the batch_create should run synchronously. |
return_records | boolean Default: false Whether to display the created OSs. |
{- "objective_students": [
- {
- "objective_id": 23,
- "student_id": 47,
- "uid": "OS1",
- "adaptive": true,
- "memorize": true
}, - {
- "student_uid": "student_1",
- "objective_uid": "objective_1",
- "uid": "OS2",
- "adaptive": true,
- "memorize": false
}
], - "synchronous": true,
- "return_records": true
}
[- {
- "id": 30,
- "uid": null,
- "objective_id": 59,
- "student_id": 35,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": null,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}, - {
- "id": 31,
- "uid": null,
- "objective_id": 59,
- "student_id": 36,
- "adaptive": false,
- "memorize": true,
- "active": true,
- "closed": null,
- "reached": false,
- "adaptive_options": { },
- "memorize_options": {
- "start_review_at": "2021-05-04 15:50:00"
}, - "created_at": "2021-05-04T13:51:50.851Z",
- "updated_at": "2021-05-04T13:51:50.851Z"
}
]
Only available for clients with a Domoscio Hub/Lock web application.
Generate a SCORM package.
To get SCORM name, please look at 'filename' key in the 'Content-Disposition' header.
learning_program_uid required | string LearningProgram UID, required only if no learning_program_id. |
student_group_uid | string StudentGroup UID to link students to. |
type | string Fill out this parameter if you need to get .zip for all student_groups or objectives. Default SCORM when empty string or no parameter.
|
{- "learning_program_uid": "my_learning_program_uid",
- "student_group_uid": "my_student_group_uid"
}
Renders files data from SCORM package.
The RecommendationUtils is not an object per se but a useful entity to get recommendations relative to a specific objective and/or student. The request returns a list of recommendations for KnowledgeNode and Content objects to learn in priority. It also includes methods to have recommendations of Content objects to push to the student to get a adaptive positioning.
Fetch Content Recommendations
student_id required | integer Scope Content Recommendations for a specific Student ID. |
student_uid required | string Scope Content Recommendations for a specific Student UID. Required if no Student ID. |
learning_program_id required | integer Scope Content Recommendations for a specific Learning Program ID. Required if no LearningProgram UID or Objective ID/UID. |
learning_program_uid required | string Scope Content Recommendations for a specific Learning Program UID. Required if no LearningProgram UID or Objective ID/UID. |
objective_id required | integer Scope Content Recommendations for specific Objective IDs. Required if no LearningProgram ID/UID or Objective UID. |
objective_uid required | string Scope Content Recommendations for specific Objective UIDs. Required if no LearningProgram ID/UID or Objective ID. |
knowledge_node_id | integer Scope Content Recommendations for specific KnowledgeNode ID(s). Required if no Objective in input. |
knowledge_node_uid | string Scope Content Recommendations for specific KnowledgeNode UID(s). Required if no Objective in input. |
recommendation_type required | string Default: "Learning" Enum: "Evaluation" "Learning" Fetch a specific type of Recommendation. It can be Evaluation Contents or Learning Contents. |
content_limit | integer Fetch a specific limited number of recommendations. |
content_limit_per_kn | integer Default: 3 Fetch a specific limited number of recommendations per KnowledgeNode. |
reset_recommendations | boolean Default: true Whether you want to fetch new recommendations. If set to false, recommendations already created and not consumed will be returned. |
recommend_seen_content | boolean Default: false Whether you want to fetch recommendations that were already been seen at least once. |
reco_after_kn_positioned | boolean Default: false Whether to recommend Contents form KnowledgeNodes that are already positioned or wait that the Student is positioned on whole Objective. |
{- "objective_id": 1,
- "student_id": 3
}
[- {
- "id": 2,
- "student_id": 6,
- "student_uid": "stud6",
- "content_id": 7,
- "content_uid": "cont7",
- "objective_id": 4,
- "objective_uid": "obj4",
- "knowledge_node_id": 10,
- "knowledge_node_uid": "eco10",
- "confidence_score": 87,
- "priority": 1,
- "created_at": "2020-04-14T20:17:57.702Z",
- "updated_at": "2020-04-14T20:17:57.702Z"
}
]
Get relevant questions based on past answered questions to get a fast positioning of the Student.
objective_id required | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
student_id required | integer Student ID. |
student_uid | string Student UID, required if no student_id. |
sub_knowledge_nodes | Array of integers A list of KnowledgeNode IDs that correspond to the KnowledgeNodes where we want to position the Student |
limit | integer Default: 5 Number of fetched questions. |
method | string Method used for the student positionning |
{- "objective_id": 1,
- "student_id": 3
}
[- {
- "id": 5,
- "uid": "ques5",
- "name": "Question 5",
- "content_url": "url"
}
]
Create new Attempt for a specific Positioning Objective. This route must be used only after finishing the first attempt.
objective_id required | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
student_id required | integer Student ID. |
student_uid | string Student UID, required if no student_id. |
{- "objective_id": 1,
- "student_id": 3
}
true
A Recommendation is a Content chosen by the recommender system for a specific Student on a specific KnowledgeNode, it will help the Student reach the desired Objective level.
Get Recommendations with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
integer or Array of integers Fetch the object(s) related to a Student ID. | |
integer or Array of arrays or string Fetch the object(s) related to a Student UID. | |
integer or Array of integers Fetch the object(s) related to an Objective ID. | |
integer or Array of arrays or string Fetch the object(s) related to an Objective UID. | |
integer or Array of integers Fetch the object(s) related to a KnowledgeNode ID. | |
integer or Array of arrays or string Fetch the object(s) related to a KnowledgeNode UID. | |
integer or Array of integers Fetch the object(s) related to a Content ID. | |
integer or Array of arrays or string Fetch the object(s) related to a Content UID. | |
active | boolean Whether the object is active or not. It is set to True by default. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 2,
- "student_id": 6,
- "student_uid": "stud6",
- "content_id": 7,
- "content_uid": "cont7",
- "objective_id": 4,
- "objective_uid": "obj4",
- "knowledge_node_id": 10,
- "knowledge_node_uid": "eco10",
- "confidence_score": 87,
- "priority": 1,
- "created_at": "2020-04-14T20:17:57.702Z",
- "updated_at": "2020-04-14T20:17:57.702Z"
}, - {
- "id": 3,
- "student_id": 7,
- "student_uid": "stud7",
- "content_id": 7,
- "content_uid": "cont7",
- "objective_id": 4,
- "objective_uid": "obj4",
- "knowledge_node_id": 10,
- "knowledge_node_uid": "eco10",
- "confidence_score": 90,
- "priority": 1,
- "created_at": "2020-04-14T20:17:57.702Z",
- "updated_at": "2020-04-14T20:17:57.702Z"
}
]
Get a specific Recommendation with ID of the object
required | integer or string Example: 1 Recommendation ID |
[- {
- "id": 1,
- "student_id": 6,
- "student_uid": "stud6",
- "content_id": 7,
- "content_uid": "cont7",
- "objective_id": 4,
- "objective_uid": "obj4",
- "knowledge_node_id": 10,
- "knowledge_node_uid": "eco10",
- "confidence_score": 87,
- "priority": 1,
- "created_at": "2020-04-14T20:17:57.702Z",
- "updated_at": "2020-04-14T20:17:57.702Z"
}
]
The ReviewUtils is not an object per se but a useful entity to manage reviews and/or pending reviews questions for a set of students or a specific student.
Fetch all reviews or pending reviews of a set of Students
required | integer or Array of integers List of Student IDs you want to fetch reviews. |
required | string or Array of strings List of Student UIDs you want to fetch reviews. |
integer or Array of integers List of KnowledgeNode IDs you want to scope the reviews with. | |
string or Array of strings List of KnowledgeNode UIDs you want to scope the reviews with. | |
integer or Array of integers List of Objective IDs you want to scope the reviews with. | |
string or Array of strings List of Objective UIDs you want to scope the reviews with. | |
integer or Array of integers List of Content IDs to exclude in the creation of reviews. | |
string or Array of strings List of Content UIDs to exclude in the creation of reviews. | |
pending | boolean Default: false If set to true, only pending reviews are fetched. |
group_by | Array of strings Default: ["student_id"] The list of attributes to group_by the reviews output. |
{- "student_id": [
- 10,
- 15
], - "knowledge_node_id": [
- 24,
- 23
], - "pending": true,
- "group_by": [
- "student_id"
]
}
[- {
- "10": [
- {
- "id": 97,
- "student_id": 10,
- "student_uid": "s_1",
- "knowledge_node_id": 24,
- "knowledge_node_uid": "kn_1",
- "content_id": 84,
- "content_uid": "c_1_4",
- "content_url": null,
- "content_type": "ContentAction",
- "next_review_at": "2021-10-20T17:02:26.358Z",
- "ci_before_next_review_at": "2021-10-19T23:37:06.650Z",
- "ci_after_next_review_at": "2021-10-21T03:29:38.183Z",
- "objective_ids": [
- 14
], - "objective_uids": [
- "obj"
], - "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}, - {
- "id": 98,
- "student_id": 10,
- "student_uid": "s_1",
- "knowledge_node_id": 23,
- "knowledge_node_uid": "kn_2",
- "content_id": 85,
- "content_uid": "c_1_5",
- "content_url": null,
- "content_type": "ContentQuestion",
- "next_review_at": "2021-10-20T17:02:26.358Z",
- "ci_before_next_review_at": "2021-10-19T23:37:06.650Z",
- "ci_after_next_review_at": "2021-10-21T03:29:38.183Z",
- "objective_ids": [
- 14
], - "objective_uids": [
- "obj"
], - "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}
], - "15": [
- {
- "id": 99,
- "student_id": 15,
- "student_uid": "s_2",
- "knowledge_node_id": 24,
- "knowledge_node_uid": "kn_1",
- "content_id": 86,
- "content_uid": "c_2_4",
- "content_url": null,
- "content_type": "ContentAction",
- "next_review_at": "2021-10-20T17:02:26.358Z",
- "ci_before_next_review_at": "2021-10-19T23:37:06.650Z",
- "ci_after_next_review_at": "2021-10-21T03:29:38.183Z",
- "objective_ids": [
- 14
], - "objective_uids": [
- "obj"
], - "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}, - {
- "id": 100,
- "student_id": 15,
- "student_uid": "s_2",
- "knowledge_node_id": 23,
- "knowledge_node_uid": "kn_2",
- "content_id": 87,
- "content_uid": "c_2_5",
- "content_url": null,
- "content_type": "ContentQuestion",
- "next_review_at": "2021-10-20T17:02:26.358Z",
- "ci_before_next_review_at": "2021-10-19T23:37:06.650Z",
- "ci_after_next_review_at": "2021-10-21T03:29:38.183Z",
- "objective_ids": [
- 14
], - "objective_uids": [
- "obj"
], - "qti": "<assessmentItem title=\"Question 1 \" theme=\"Les rois & reines de la glisse 🤙\" concept=\"SURF 🌊\" timeDependent=\"false\" adaptive=\"false\" identifier=\"choice\" schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd\" xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p2\">\n <responseDeclaration identifier=\"RESPONSE\" baseType=\"identifier\" cardinality=\"single\">\n <correctResponse>\n <value>546</value>\n </correctResponse>\n </responseDeclaration>\n <outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>\n <outcomeDeclaration identifier=\"FEEDBACK\" cardinality=\"single\" baseType=\"identifier\"/>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"correct\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"incorrect\"></modalFeedback>\n <modalFeedback outcomeIdentifier=\"FEEDBACK\" showHide=\"hide\" identifier=\"partiallycorrect\"></modalFeedback>\n <itemBody>\n <choiceInteraction responseIdentifier=\"RESPONSE\" shuffle=\"true\" maxChoices=\"1\">\n <prompt><p>Où le surf est-il apparu ? </p></prompt>\n <simpleChoice identifier=\"545\" fixed=\"false\"><p>Australie</p></simpleChoice>\n <simpleChoice identifier=\"547\" fixed=\"false\"><p>Nice </p></simpleChoice>\n <simpleChoice identifier=\"548\" fixed=\"false\"><p>Amérique du Sud </p></simpleChoice>\n <simpleChoice identifier=\"546\" fixed=\"false\"><p>Polynésie </p></simpleChoice>\n </choiceInteraction>\n </itemBody>\n</assessmentItem>\n"
}
]
}
]
Fetch all reviews or pending reviews of a set of Students
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
student_ids required | Array of integers List of Student IDs to scope the request, the result will be aggregated by Student ID. |
student_uids required | Array of strings List of Student UIDs to scope the request, the result will be aggregated by Student UID. |
knowledge_node_ids | Array of integers The ID(s) of the KnowledgeNode object(s) you want to scope the reviews for |
knowledge_node_uids | Array of strings The UID(s) of the KnowledgeNode object(s) you want to scope the reviews for |
pending | boolean Default: false If true, fetches only pending reviews. |
with_confidence_interval | boolean Default: false Whether you are interested in the confidence interval or not. |
wider_interval | boolean Default: false Whether you wish the confidence interval to be wider. |
{- "student_ids": [
- 10,
- 15
], - "knowledge_node_ids": [
- 24,
- 23
], - "pending": true
}
{- "10": [
- {
- "id": 49,
- "knowledge_node_id": 23,
- "student_id": 10,
- "next_review_at": "2020-03-25",
- "student_uid": "student10",
- "knowledge_node_uid": "kn23"
}, - {
- "id": 50,
- "knowledge_node_id": 24,
- "student_id": 10,
- "next_review_at": "2020-04-05",
- "student_uid": "student10",
- "knowledge_node_uid": "kn24"
}
], - "15": [
- {
- "id": 53,
- "knowledge_node_id": 23,
- "student_id": 15,
- "next_review_at": "2020-03-27",
- "student_uid": "student10",
- "knowledge_node_uid": "kn23"
}, - {
- "id": 64,
- "knowledge_node_id": 24,
- "student_id": 15,
- "next_review_at": "2020-04-01",
- "student_uid": "student15",
- "knowledge_node_uid": "kn24"
}
]
}
Fetch all reviews or pending review questions for a set of Students
student_ids | Array of integers The ID(s) of the Student for which you want to get reviews |
student_uids | Array of integers The UID(s) of the Student for which you want to get reviews |
objective_ids | Array of integers The ID(s) of the Objective for which you want to get reviews |
objective_uids | Array of strings The UID(s) of the Objective for which you want to get reviews |
exclude_content_ids | Array of integers The ID(s) of the Content that you don’t want to propose as a review material |
exclude_content_uids | Array of strings The UID(s) of the Content that you don’t want to propose as a review material |
pending | boolean Default: false If false it will fetch all review questions, if true it will fetch the pending reviews. |
{- "student_ids": [
- 1
], - "objective_ids": [
- 4
], - "exclude_content_ids": [
- 3,
- 8
]
}
{- "45": [
- {
- "student_id": 45,
- "student_uid": "student01",
- "knowledge_node_id": 2,
- "knowledge_node_uid": "fin01",
- "content_id": 4,
- "content_uid": "cont4",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
], - "next_review_at": "2020-06-14T08:14:00.571Z"
}, - {
- "student_id": 45,
- "student_uid": "student01",
- "knowledge_node_id": 3,
- "knowledge_node_uid": "eco01",
- "content_id": 2,
- "content_uid": "cont2",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
], - "next_review_at": "2020-06-14T08:14:00.571Z"
}
], - "47": [
- {
- "student_id": 47,
- "student_uid": "student02",
- "knowledge_node_id": 2,
- "knowledge_node_uid": "fin01",
- "content_id": 4,
- "content_uid": "cont4",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
], - "next_review_at": "2020-06-14T08:14:00.571Z"
}, - {
- "student_id": 47,
- "student_uid": "student02",
- "knowledge_node_id": 3,
- "knowledge_node_uid": "eco01",
- "content_id": 2,
- "content_uid": "cont2",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
], - "next_review_at": "2020-06-14T08:14:00.571Z"
}
]
}
Fetch Pending Reviews Questions per Student
student_id required | integer The ID of the Student for which you want to get pending reviews, required if no student_uid. |
student_uid required | string The UID of the Student for which you want to get pending reviews, required if no student_id. |
objective_ids | Array of integers The ID(s) of the Objective for which you want to get an AI training status, required if no objective_uids. |
objective_uids | Array of strings The UID(s) of the Objective for which you want to get an AI training status, required if no objective_uids. |
exclude_content_ids | Array of integers The ID(s) of the Content that you don’t want to propose as a review material |
exclude_content_uids | Array of strings The UID(s) of the Content that you don’t want to propose as a review material |
{- "student_id": 1,
- "objective_ids": [
- 4
], - "exclude_content_ids": [
- 3,
- 8
]
}
[- {
- "student_id": 45,
- "student_uid": "student01",
- "knowledge_node_id": 2,
- "knowledge_node_uid": "fin01",
- "content_id": 4,
- "content_uid": "cont4",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
]
}, - {
- "student_id": 45,
- "student_uid": "student01",
- "knowledge_node_id": 3,
- "knowledge_node_uid": "eco01",
- "content_id": 2,
- "content_uid": "cont2",
- "content_url": "url",
- "objective_ids": [
- 4788
], - "objective_uids": [
- "obj4788"
]
}
]
An Event represents an interaction a student has with a specific content, it is defined through various parameters like the type of event or the score of the student regarding this content. For instance, if you need to store results, you can declare an Event object with an EventResult type. The only constraint for the consolidation feature is that you must register your Event as EventReview type and the payload should be either “0” or “100”, it is sent according to xAPI format.
Create Events with payload parameters
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
content_id required | integer Event related to a specific Content ID, required only if no content_uid. |
content_uid required | string Event related to a specific Content UID, required only if no content_id. |
event_type required | string Enum: "EventReview" "EventResult" "EventRead" "EventError" "EventRating"
|
payload | object Contains information about score, format of the response etc.. |
generated_at | string <date> Date of creation of the Event |
time_spent | number <float> Time spent with the content in milliseconds |
standard | string Format of the response expected |
objective_id | integer Event related to a specific Objective ID, required only for EventRating & EventError. |
objective_uid | string Event related to a specific Objective UID, required only for EventRating & EventError(When no objective_id is given). |
recommendation_id | integer Event related to a specific recommendation. Helps keep a record of the selected recommendations . |
review_id | integer Event related to a specific review. |
learning_session_id | integer Event related to a specific LearningSession ID. |
learning_session_uid | string Event related to a specific LearningSession UID. |
feedback_error_id | integer Event related to a specific FeedbackError ID, required for Event of type Error and no feedback_error_uid found in input |
feedback_error_uid | string Event related to a specific FeedbackError UID, required for Event of type Error and no feedback_error_id found in input |
{- "student_uid": "s_1",
- "content_uid": "c_1_1",
- "event_type": "EventReview",
- "review_id": 78,
- "standard": "xAPI"
}
{- "id": 52,
- "event_type": "EventReview",
- "created_at": "2021-10-22 14:11:22 UTC",
- "updated_at": "2021-10-22 14:11:25 UTC",
- "student_id": 29,
- "content_id": 97,
- "objective_id": null,
- "knowledge_node_ids": [
- 61
], - "learning_session_id": 14,
- "feedback_error_id": null,
- "generated_at": "2021-10-22 14:11:22 UTC",
- "standard": "xAPI",
- "time_spent": null
}
Get Events with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
id | integer Object ID. |
student_id | integer Student ID. |
student_uid | string Student UID, required if no student_id. |
content_id | integer Object related to a specific Content |
content_uid | string Object related to a specific Content |
knowledge_node_id | integer Object related to a specific KnowledgeNode |
date_start | string <date> Scope starting date |
date_end | string <date> Scope ending date |
event_type | string Enum: "EventReview" "EventResult" "EventRead" "EventError" "EventRating"
|
learning_session_id | integer LearningSession ID linked to Event |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "event_type": "EventResult",
- "payload": 100,
- "created_at": "2020-04-14T12:12:11.133Z",
- "updated_at": "2020-04-14T12:12:11.133Z",
- "student_id": 1,
- "content_id": 1,
- "objective_id": 2,
- "knowledge_node_ids": [
- 4,
- 3,
- 11
], - "learning_session_id": 5,
- "generated_at": "2020-04-14T12:12:11.133Z",
- "return": false,
- "standard": null,
- "time_spent": null
}, - {
- "id": 2,
- "event_type": "EventResult",
- "payload": 100,
- "created_at": "2020-04-14T12:42:31.163Z",
- "updated_at": "2020-04-14T12:42:31.163Z",
- "student_id": 2,
- "content_id": 1,
- "objective_id": 3,
- "knowledge_node_ids": [
- 11
], - "learning_session_id": 8,
- "generated_at": "2020-04-14T12:42:31.163Z",
- "return": false,
- "standard": null,
- "time_spent": null
}
]
Get a specific Event.
id required | integer <int64> Event ID |
{- "id": 1,
- "event_type": "EventResult",
- "payload": 100,
- "created_at": "2020-04-14T12:12:11.133Z",
- "updated_at": "2020-04-14T12:12:11.133Z",
- "student_id": 1,
- "content_id": 1,
- "objective_id": 2,
- "knowledge_node_ids": [
- 4,
- 3,
- 11
], - "learning_session_id": 5,
- "generated_at": "2020-04-14T12:12:11.133Z",
- "return": false,
- "standard": null,
- "time_spent": null
}
Create multiple Events in one request.
events | Array of arrays An array of Event in JSON format, please refer to the single Event object for the required parameters. |
synchronous | boolean Default: false Specify if the batch_create should run synchronously. |
return_records | boolean Default: false Whether to display the created Events. |
{- "events": [
- {
- "content_id": 420,
- "student_id": 47,
- "event_type": "EventResult",
- "payload": {
- "score": 100
}
}, - {
- "student_uid": "student_1",
- "content_uid": "content_2",
- "event_type": "EventRead",
- "payload": {
- "score": 100
}
}
], - "synchronous": true,
- "return_records": true
}
[- {
- "id": 1,
- "event_type": "EventResult",
- "payload": {
- "score": 100
}, - "created_at": "2020-04-14T12:12:11.133Z",
- "updated_at": "2020-04-14T12:12:11.133Z",
- "student_id": 47,
- "content_id": 420,
- "objective_id": 2,
- "knowledge_node_ids": [
- 4,
- 3,
- 11
], - "learning_session_id": 5,
- "generated_at": "2020-04-14T12:12:11.133Z",
- "return": false,
- "standard": null,
- "time_spent": null
}, - {
- "id": 2,
- "event_type": "EventRead",
- "payload": {
- "score": 100
}, - "created_at": "2020-04-14T12:12:11.133Z",
- "updated_at": "2020-04-14T12:12:11.133Z",
- "student_id": 47,
- "content_id": 421,
- "objective_id": 2,
- "knowledge_node_ids": [
- 4,
- 3,
- 11
], - "learning_session_id": 8,
- "generated_at": "2020-04-14T12:12:11.133Z",
- "return": false,
- "standard": null,
- "time_spent": null
}
]
An ObjectiveStudentAssessment (OSA) represents an external evaluation of the Student on a specific Objective. It can be the result to an exam for instance.
Create an ObjectiveStudentAssessment (OSA)
uid | string Object UID. |
objective_student_id required | integer The ID of the ObjectiveStudent you want to declare an OSA for. |
student_id | integer The ID of the Student you want to declare an OSA for. Required if no objective_student_id and student_uid in input. |
student_uid | string The UID of the Student you want to declare an OSA for. Required if no objective_student_id and student_id in input. |
objective_id | integer The ID of the Objective you want to declare an OSA for. Required if no objective_student_id and objective_uid in input. |
objective_uid | string The UID of the Objective you want to declare an OSA for. Required if no objective_student_id and objective_id in input. |
knowledge_node_id | integer The ID of the KnowledgeNode you want to declare an OSA for. |
knowledge_node_uid | string The UID of the KnowledgeNode you want to declare an OSA for. |
learning_session_id | integer The ID of the LearningSession you want to link the OSA with. |
learning_session_uid | string The UID of the LearningSession you want to link the OSA with. |
mark | integer Mark of the Student for this specific Objective. It expects an integer between 0 and 100 (0: nothing is correct, 100: perfect). |
success_threshold | integer Default: 50 This parameter uses the same scale as “mark”. If mark is above threshold, then the interaction can be seen as positive, otherwise it can be seen as negative. |
validated | boolean Whether the Student has validated or not the Objective. |
memorized | boolean Whether the Student has memorized or not the objective. |
knowledge_node_update | boolean Whether the assessment leads to an update of the Student mastery progress, validations and recommendations. |
start_date | string <date> When the interaction between the student and the Objective started. |
end_date | string <date> When the interaction between the student and the Objective ended. |
close_positioning | boolean Whether to close positioning after the assessment (if KnowledgeNode set in input, it will only stop positioning on this specific KnowledgeNode). |
payload | object This field can be used to add other information such as the geographic position. |
{- "student_uid": "student_145472",
- "objective_uid": "obj_145712",
- "validated": true,
- "knowledge_node_update": true
}
{- "id": 121,
- "uid": null,
- "objective_student_id": 2206,
- "mark": null,
- "success_threshold": 50,
- "knowledge_node_update": true,
- "created_at": "2020-04-23T11:48:38.122Z",
- "updated_at": "2020-04-23T11:48:38.122Z",
- "payload": { },
- "start_date": null,
- "end_date": null,
- "validated": true,
- "memorized": false
}
Get ObjectiveStudentAssessment with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
integer or Array of integers Fetch the object(s) with Student ID. | |
string or Array of strings Fetch the object(s) with Student UID. | |
integer or Array of integers Fetch the object(s) with Objective ID. | |
string or Array of strings Fetch the object(s) with Objective UID. | |
integer or Array of integers Fetch the object(s) with ObjectiveStudent ID. | |
string or Array of strings Fetch the object(s) with ObjectiveStudent UID. | |
integer or Array of integers Fetch the object(s) with KnowledgeNode ID. | |
string or Array of strings Fetch the object(s) with KnowledgeNode UID. | |
date_start | string <date> When the interaction between the Student and the Objective started. |
date_end | string <date> When the interaction between the Student and the Objective ended. |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 121,
- "uid": null,
- "objective_student_id": 2206,
- "knowledge_node_id": 4,
- "learning_session_id": 4,
- "close_positioning": null,
- "mark": null,
- "success_threshold": 50,
- "knowledge_node_update": true,
- "created_at": "2020-04-23T11:48:38.122Z",
- "updated_at": "2020-04-23T11:48:38.122Z",
- "payload": { },
- "start_date": null,
- "end_date": null,
- "validated": true,
- "memorized": false
}
]
Get a specific ObjectiveStudentAssessment with ID
id required | integer <int64> Example: 1 ObjectiveStudentAssessment ID |
{- "id": 121,
- "uid": null,
- "objective_student_id": 2206,
- "knowledge_node_id": 4,
- "learning_session_id": 4,
- "close_positioning": null,
- "mark": null,
- "success_threshold": 50,
- "knowledge_node_update": true,
- "created_at": "2020-04-23T11:48:38.122Z",
- "updated_at": "2020-04-23T11:48:38.122Z",
- "payload": { },
- "start_date": null,
- "end_date": null,
- "validated": true,
- "memorized": false
}
Create multiple ObjectiveStudentAssessments (OSA) in one request.
objective_student_assessments | Array of arrays An array of OSA in JSON format, please refer to the single OSA object for the required parameters. |
synchronous | boolean Default: false Specify if the batch_create should run synchronously. |
return_records | boolean Default: false Whether to display the created OSAs. |
return_review_dates | boolean Whether to return directly the review dates updated per Student. If True, the response will have the same format than with /review_utils/fetch_reviews route. |
{- "objective_student_assessments": [
- {
- "objective_student_id": 23,
- "uid": "OSA1",
- "mark": 30,
- "validated": true,
- "memorized": true
}, - {
- "student_id": 19,
- "objective_id": 3,
- "uid": "OSA2",
- "mark": 75,
- "validated": true,
- "memorized": true
}
], - "synchronous": true,
- "return_records": true
}
[- {
- "id": 25,
- "created_at": "2020-07-22T16:41:45.164Z",
- "updated_at": "2020-07-22T16:41:45.164Z",
- "objective_student_id": 23,
- "knowledge_node_id": 4,
- "learning_session_id": 4,
- "close_positioning": null,
- "mark": 30,
- "knowledge_node_update": false,
- "success_threshold": 50,
- "start_date": null,
- "end_date": null,
- "payload": { },
- "uid": "OSA1",
- "validated": true,
- "memorized": true
}, - {
- "id": 26,
- "created_at": "2020-07-22T16:41:45.164Z",
- "updated_at": "2020-07-22T16:41:45.164Z",
- "objective_student_id": 28,
- "knowledge_node_id": 5,
- "learning_session_id": 5,
- "close_positioning": null,
- "mark": 75,
- "knowledge_node_update": false,
- "success_threshold": 50,
- "start_date": null,
- "end_date": null,
- "payload": { },
- "uid": "OSA2",
- "validated": true,
- "memorized": true
}
]
A FeedBackErrorSet helps you to create a referential of errors. It can help you organize your FeedbackErrors together by grouping them together.
Create FeedbackErrorSet with payload parameters
uid required | string UID of the FeedbackErrorSet. |
name | string Name of the FeedbackErrorSet. |
description | string Description of the FeedbackErrorSet |
{- "uid": "feedback_error_set_uid",
- "name": "ErrorSet 3 - Syntax",
- "description": "Group all the feedback errors linked to the syntax"
}
{- "id": 45,
- "uid": "uid_object",
- "name": "ErrorSet 3 - Syntax",
- "description": "Group all the feedback errors linked to the syntax",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Get FeedbackErrorSets with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
string or Array of strings Fetch the object(s) with name. | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
{- "uid": "feedback_error_set_uid"
}
[- {
- "id": 45,
- "uid": "uid_object",
- "name": "ErrorSet 3 - Syntax",
- "description": "Group all the feedback errors linked to the syntax",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
]
Get a specific FeedbackErrorSet
required | integer or string FeedbackErrorSet ID or UID |
{- "id": 45,
- "uid": "uid_object",
- "name": "ErrorSet 3 - Syntax",
- "description": "Group all the feedback errors linked to the syntax",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Update a FeedbackErrorSet with payload parameters
required | integer or string FeedbackErrorSet ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
uid | string Object UID. |
name | string Name of the FeedbackErrorSet |
description | any Description of the FeedbackErrorSet |
{- "key_type": "uid",
- "uid": "string",
- "name": "ErrorSet 4 - Syntax",
- "description": "Group all the feedback errors linked to the syntax"
}
{- "id": 45,
- "uid": "uid_object",
- "name": "ErrorSet 3 - Syntax",
- "description": "Group all the feedback errors linked to the syntax",
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
A FeedbackError represents a certain type of error that a Student can make during his evaluations. This object can be linked to an Event of type Error to track the errors of the Student.
Create FeedbackErrors with payload parameters
uid required | string UID of the FeedbackError. |
name | string Name of the FeedbackError. |
description | string Description of the FeedbackError |
feedback_error_set_id required | integer ID of the FeedbackErrorSet linked to the FeedbackError |
{- "uid": "feedback_error_uid",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5
}
{- "id": 45,
- "uid": "uid_object",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Get FeedbackErrors with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
integer or Array of integers Fetch the object(s) with ID. | |
string or Array of strings Fetch the object(s) with UID. | |
string or Array of strings Fetch the object(s) with name. | |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
{- "uid": "feedback_error_uid"
}
[- {
- "id": 45,
- "uid": "uid_object",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
]
Get a specific FeedbackError
required | integer or string FeedbackError ID or UID |
{- "id": 45,
- "uid": "uid_object",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
Update a FeedbackError with payload parameters
required | integer or string FeedbackError ID or UID |
key_type | string Key type to use. If key_type='uid', UID will be considered instead of ID. |
uid | string Object UID. |
name | string Name of the FeedbackError |
description | string Description of the FeedbackError |
feedback_error_set_id | integer ID of the FeedbackErrorSet linked to the FeedbackError |
{- "key_type": "uid",
- "uid": "string",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5
}
{- "id": 45,
- "uid": "uid_object",
- "name": "Error 47 - End of a plural noun",
- "description": "No (s) at the end of a noun in plural",
- "feedback_error_set_id": 5,
- "created_at": "2020-03-25T13:33:57.640Z",
- "updated_at": "2020-03-25T13:33:57.640Z"
}
The UserModelUtils is not an object per se but a useful entity to retrieve feebacks related to the uncertainty of the system for each student and objective based on their mastery, validation or memorization.
Get the total FeedbackErrors on a set of KnowledgeNodes for specific Student(s).
student_uids required | Array of strings List of Student UIDs to fetch FeedbackErrors |
knowledge_node_uids required | Array of strings List of KnowledgeNode UIDs to fetch FeedbackErrors |
group_by | string Default: "feedback_error_set" Enum: "feedback_error" "feedback_error_set" The aggregation level to group total number of FeedbackErrors. |
{- "student_uids": [
- "student_1",
- "student_2"
], - "knowledge_node_uids": [
- "kn_1, kn_3"
]
}
{- "kn_1": {
- "feedback_error_1": 41,
- "feedback_error_2": 14
}
}
Get all the ObjectiveStudents that need the most feedback according to the uncertainty of the system for each student and objective based on their mastery, validation or memorization
student_ids required | Array of integers The ID(s) of the students for which you want to get feedback. |
student_uids required | Array of strings The UID(s) of the students for which you want to get feedback. |
objective_ids required | Array of integers The ID(s) of the Objective for which you want to get feedback. |
objective_uids required | Array of strings The UID(s) of the Objective for which you want to get feedback. |
feedback_type | string Enum: "mastery" "memorization" "validation" The desired feedback_type, it can be based on mastery, memorization, validation. If no type given, it will return a score based on the average of the three feedbacks. |
number_of_os | integer Default: 10 The number of ObjectiveStudents that we want to get feedback for. |
{- "student_ids": [
- 13,
- 14
], - "objective_ids": [
- 9,
- 10
], - "feedback_type": "memorization",
- "number_of_os": 10
}
[- {
- "id": 24,
- "uid": "os_24",
- "student_id": 13,
- "objective_id": 9,
- "memorize": true,
- "adaptive": false
}, - {
- "id": 25,
- "uid": "os_25",
- "student_id": 14,
- "objective_id": 10,
- "memorize": true,
- "adaptive": false
}
]
Get all the AI Training Status of the system, for a set or Student(s) based on the Students mastery.
student_ids required | Array of integers The ID(s) of the students for which you want to get feedback. |
student_uids required | Array of strings The UID(s) of the students for which you want to get feedback. |
objective_ids required | Array of integers The ID(s) of the Objective for which you want to get feedback. |
objective_uids required | Array of strings The UID(s) of the Objective for which you want to get feedback. |
{- "student_ids": [
- 18,
- 19
], - "objective_ids": [
- 9,
- 10
]
}
{- "overall_value": 96.75
}
A LearningSession groups Event or ObjectiveStudentAssessment objects together. It has a starting and an ending time. It is convenient to highlight that these objects are part of the same logical and physical learning session by the Student.
Create LearningSessions with payload parameters
uid | string Object UID. |
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
type required | string Default: "LearningSessionMemorize" Enum: "LearningSessionMemorize" "LearningSessionCustom" The LearningSession type. |
starting_time | string <date> Starting time scope |
ending_time | string <date> Ending time scope |
origin | string Origin where the LearningSession is created. Can be used when using multiple platforms to create LS. |
{- "student_id": 1,
- "objective_id": 34,
- "type": "LearningSessionAdaptive",
- "starting_time": "2020-04-14T14:33:57.640Z",
- "ending_time": "2020-04-14T14:33:57.640Z"
}
{- "id": 1,
- "uid": null,
- "student_id": 1,
- "objective_id": 34,
- "objective_ids": [ ],
- "active": true,
- "type": "LearningSessionMemorize",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": null,
- "payload": { },
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event_at": "2021-03-07T17:58:37.459Z",
- "last_interaction_at": "2021-03-07T17:58:37.459Z",
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Get LearningSessions with payload parameters (limit number of data in response is 200, use page parameter to get the following data).
student_id | integer Student ID. |
student_uid | string Student UID, required if no student_id. |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
type | string Enum: "LearningSessionPositioning" "LearningSessionAdaptive" "LearningSessionMemorize" "LearningSessionCustom" The LearningSession type. |
attempt_nb | integer The attempt number to which the LearningSession is linked to, for a Positioning LS with multiple attempts. |
date_start | string <date> LearningSession's starting date |
date_end | string <date> LearningSession's ending date |
origin | string Origin where the LearningSession is created. Can be used when using multiple platforms to create LS. |
active | boolean Whether the LearningSession is active or not |
sort_by | string Parameter(s) to sort the response by. |
page | integer Default: 1 Response page number with index starting from 1. One page contains 200 objects per default (can be modified with per_page parameter). |
per_page | integer Default: 200 Number of objects to display per page. |
[ ]
[- {
- "id": 1,
- "uid": null,
- "student_id": 1,
- "objective_id": null,
- "objective_ids": [
- 3,
- 4,
- 5
], - "active": true,
- "type": "LearningSessionMemorize",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": "app_web",
- "payload": { },
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event_at": null,
- "last_interaction_at": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}, - {
- "id": 2,
- "uid": null,
- "student_id": 1,
- "objective_id": 34,
- "objective_ids": [ ],
- "active": true,
- "type": "LearningSessionPositioning",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": "app_web",
- "payload": { },
- "interaction_count": 4,
- "result_count": 3,
- "rating_count": 0,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 1,
- "percentage_success": 0.33,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 560680,
- "average_time_spent": 4870,
- "last_event_at": null,
- "last_interaction_at": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}, - {
- "id": "",
- "uid": null,
- "student_id": 1,
- "objective_id": 34,
- "objective_ids": [ ],
- "active": false,
- "type": "LearningSessionCustom",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": "app_web",
- "payload": { },
- "interactions_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event_at": null,
- "last_interaction_at": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
]
Get a specific LearningSession.
id required | integer <int64> LearningSession ID |
{- "id": 1,
- "uid": null,
- "student_id": 1,
- "objective_id": 34,
- "objective_ids": [ ],
- "active": true,
- "type": "LearningSessionAdaptive",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": "app_web",
- "payload": { },
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event_at": null,
- "last_interaction_at": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Close a specific LearningSession.
required | integer or Array of integers Fetch the object(s) with ID. |
{- "id": 1
}
{- "id": 1,
- "uid": null,
- "student_id": 1,
- "objective_id": 34,
- "objective_ids": [ ],
- "active": true,
- "type": "LearningSessionAdaptive",
- "starting_time": "2020-04-12T10:33:57.640Z",
- "ending_time": "2020-04-12T10:45:57.640Z",
- "origin": "app_web",
- "payload": { },
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "theta_initial": null,
- "theta_final": null,
- "capacity_initial": null,
- "capacity_final": null,
- "mean_step_review": null,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event_at": null,
- "last_interaction_at": null,
- "created_at": "2021-03-15T20:38:33.459Z",
- "updated_at": "2021-03-15T20:38:33.692Z"
}
Get the percentage of active students, an active student is a student who made at least an interaction.
student_id required | string List of Student ID to scope the request. |
objective_id | string List of Objective ID to scope the request. |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
start_date | string <date> Scope the students that made interaction after the start date. |
end_date | string <date> Scope the students that made interaction before the ending date. |
{- "student_id": "[14, 167, 314, 34]",
- "objective_id": "[12]"
}
75
Get the Student validation progress (percentage of validation, mastery score, threshold for validation)
integer or Array of integers Scope the statistics with specific Student ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with a set of Student UID(s). At least one scope parameter is required. | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s). At least one scope parameter is required. | |
integer or Array of integers Scope the statistics with specific Objective ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with specific Objective UID(s). At least one scope parameter is required. | |
attempt_nb | integer Scope the statistics to a specific Attempt (doesn't count as a scope parameter). |
group_by | Array of strings Items Enum: "student_id" "student_uid" "knowledge_node_id" "knowledge_node_uid" "month" Group by the validation statistics by specific Object attributes |
{- "student_id": [
- 47,
- 214
], - "group_by": [
- "student_id"
]
}
{- "47": {
- "percentage_validation": 75,
- "average_mastery": 2,
- "average_threshold": 4
}, - "214": {
- "percentage_validation": 12,
- "average_mastery": 1.3,
- "average_threshold": 4
}
}
Get Event statistics for the scope specified in input
event_type | string Default: "EventReview" Enum: "EventReview" "EventResult" "EventRead" "EventError" Scope the statistics with the type of the Event. |
integer or Array of integers Scope the statistics with specific Student ID(s). | |
string or Array of strings Scope the statistics with a set of Student UID(s). | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific Content ID(s). | |
string or Array of strings Scope the statistics with a set of Content UID(s). | |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s). | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s). | |
string or Array of strings Scope the statistics with a set of KnowledgeGraph UID(s). | |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
string or Array of integers Scope the statistics with specific Objective UID(s). | |
attempt_nb | integer Scope the statistics with only Events linked to this Attempt. |
start_date | string <date> Scope the statistics with only Events that were generated after the starting date. |
end_date | string <date> Scope the statistics with only Events that were generated before the ending date. |
group_by | Array of strings Items Enum: "student_id" "student_uid" "knowledge_node_id" "knowledge_node_uid" "content_id" "month" Group by the Event statistics by specific Object attributes |
{- "student_uid": [
- "student_1",
- "student_2"
], - "event_type": "EventResult",
- "group_by": [
- "student_uid"
]
}
{- "student_1": {
- "size": 24,
- "right": 8,
- "wrong": 16,
- "success": 0.3333,
- "last_event": "2020-06-11T09:20:28.328Z",
- "time_spent": 560002,
- "average_time_spent": 23333.4
}, - "student_2": {
- "size": 12,
- "right": 8,
- "wrong": 4,
- "success": 0.6666,
- "last_event": "2020-06-11T09:20:28.328Z",
- "time_spent": 560002,
- "average_time_spent": 23333.4
}
}
Fetch LearningSessions with specific parameters
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
knowledge_node_id | integer Object related to a specific KnowledgeNode |
knowledge_node_uid | string Object related to a specific KnowledgeNode |
attempt_nb | integer The attempt number to which the LearningSession is linked to, for a Positioning LS with multiple attempts. |
active | boolean Get the statistics of a specific LearningSession state. |
type | string Enum: "LearningSessionPositioning" "LearningSessionAdaptive" "LearningSessionMemorize" "LearningSessionCustom" Get the statistics of this LearningSessions type only. |
starting_time | string <date> Get the statistics with only LearningSessions that were generated after the starting date. |
ending_time | string <date> Get the statistics with only LearningSessions that were generated before the ending date. |
group_by | Array of strings Items Enum: "student_id" "student_uid" "objective_id" "knowledge_node_id" "knowledge_node_uid" Group by the LearningSessions statistics by specific Object attributes |
{- "student_uid": [
- "student_1",
- "student_2"
], - "type": "LearningSessionMemorize",
- "group_by": [
- "student_uid"
]
}
{- "student_1": {
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event": "2021-03-07T17:58:37.459Z",
- "last_interaction": "2021-03-07T17:58:37.459Z",
- "nb_pending_learning_session": 1,
- "nb_completed_learning_session": 0
}, - "student_2": {
- "interaction_count": 15,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 5,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 0,
- "percentage_success": 0,
- "time_spent": 27435,
- "average_time_spent": 1767,
- "last_event_at": "2021-03-07T17:58:37.459Z",
- "last_interaction": "2021-03-07T17:58:37.459Z",
- "nb_pending_learning_session": 1,
- "nb_completed_learning_session": 0
}
}
Get the number of Events for a specified scope
event_type | string Default: "EventReview" Enum: "EventReview" "EventResult" "EventRead" "EventError" Scope the events with the type of the Event. |
integer or Array of integers Scope the statistics with specific Student ID(s). | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
start_date | string <date> Count the number of Events from this starting date. |
end_date | string <date> Count the number of Events before this ending date. |
group_by | Array of strings Items Enum: "knowledge_node_id" "student_id" "month" Group by the number of Events by specific Object attributes. |
{- "student_id": [
- 14,
- 29
], - "start_date": "2017-07-21",
- "ending_date": "2017-09-21",
- "group_by": [
- "knowledge_node_id",
- "student_id"
]
}
{- "kn_id_1": {
- "student_id_1": 478,
- "student_id_2": 124
}, - "kn_id_2": {
- "student_id_1": 141,
- "student_id_2": 241
}
}
Get the average memorization progress of the reviews for a specific scope. If the scope is defined with KnowledgeGraphs, the ouput will be grouped by KnowledgeGraph.
student_ids | Array of integers List of Student IDs to scope the request. |
student_uids | Array of strings List of Student UIDs to scope the request. |
student_id | Array of integers Deprecated List of Student IDs to scope the request. |
objective_id | Array of integers List of Objective IDs to scope the request. |
knowledge_node_id | Array of integers List of KnowledgeNodes IDs to scope the request. |
knowledge_graph_uids | Array of strings List of KnowledgeGraph UIDs to scope the request. If this input is used, the response will be grouped by KnowledgeGraph. |
group_by_kn | boolean If true, the response will be grouped by KnowledgeNode. |
mode | string If mode set to "details", the response will be grouped by Student. |
{- "student_uids": [
- "student_1",
- "student_2",
- "student_3"
], - "knowledge_node_id": [
- 12,
- 47
]
}
{- "review_progress": 0.6
}
Get the review statistics on a given KnowledgeGraph
knowledge_graph_id required | integer Scope the statistics with specific KnowledgeGraph ID(s), required if no UID is given. |
knowledge_graph_uid required | string Scope the statistics with specific KnowledgeGraph ID(s), required if no ID is given. |
group_by | Array of strings Items Enum: "nil || []" ["knowledge_node_id"] ["knowledge_node_uid"] ["content_id"] ["content_uid"] ["knowledge_node_id","content_id"] ["knowledge_node_uid","content_uid"] Group by the Review stats for the chosen KnowledgeGraph by specific Object attributes |
{- "knowledge_graph_id": 23,
- "group_by": [
- "knowledge_node_id"
]
}
{- "knowledge_node_1": {
- "number_questions_sent": 35,
- "percentage_correct_answers": 54.29,
- "percentage_wrong_answers": 45.71
}, - "knowledge_node_2": {
- "number_questions_sent": 10,
- "percentage_correct_answers": 85,
- "percentage_wrong_answers": 15,
- "number_actions_sent": 10,
- "percentage_accepted_actions": 70,
- "percentage_declined_actions": 10,
- "percentage_successfully_performed_actions": 20,
- "percentage_abandoned_actions": 0,
- "percentage_actions_perfomed_with_difficulty": 10
}
}
Get the review statistics on a given KnowledgeNode or a list of KnowledgeNodes
required | integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s), required if no UID is given. |
required | string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s), required if no ID is given. |
group_by | Array of strings Items Enum: "nil || []" ["content_id"] ["content_uid"] Group by the Review stats for the chosen KnowledgeNode by specific Object attributes. |
{- "knowledge_node_uid_id": [
- "knowledge_node_1",
- "knowledge_node_2"
]
}
{- "knowledge_node_1": {
- "number_questions_sent": 35,
- "percentage_correct_answers": 54.29,
- "percentage_wrong_answers": 45.71
}, - "knowledge_node_2": {
- "number_questions_sent": 10,
- "percentage_correct_answers": 85,
- "percentage_wrong_answers": 15,
- "number_actions_sent": 10,
- "percentage_accepted_actions": 70,
- "percentage_declined_actions": 10,
- "percentage_successfully_performed_actions": 20,
- "percentage_abandoned_actions": 0,
- "percentage_actions_perfomed_with_difficulty": 10
}
}
Get the review statistics on a given Content or a list of Contents
required | integer or Array of integers Scope the statistics with specific Content ID(s), required if no UID is given. |
required | string or Array of strings Scope the statistics with a set of Content UID(s), required if no UID is given. |
{- "content_uid": [
- "content_1",
- "content_2"
]
}
{- "content_1": {
- "number_questions_sent": 35,
- "percentage_correct_answers": 54.29,
- "percentage_wrong_answers": 45.71
}, - "content_2": {
- "number_actions_sent": 10,
- "percentage_accepted_actions": 70,
- "percentage_declined_actions": 10,
- "percentage_successfully_performed_actions": 20,
- "percentage_abandoned_actions": 0,
- "percentage_actions_perfomed_with_difficulty": 10
}
}
Get the average memory level according to group_by params if grouped_by Objective or Knowledge Graph and the memory level for each KnowledgeNode if grouped_by knowledge_node
required | integer or Array of integers Scope the statistics with specific Objective ID(s), required if no UID is given. |
required | string or Array of strings Scope the statistics with a set of Objective UID(s), required if no UID is given. |
integer or Array of integers Scope the statistics with specific Student ID(s), if none is given, it will fetch all the ones linked to the Objective. | |
string or Array of strings Scope the statistics with a set of Student UID(s)if none is given, it will fetch all the ones linked to the Objective. | |
integer or Array of integers Scope the statistics with specific KnowledgeGraph ID(s), if none is given, it will fetch all the ones linked to the Objective. | |
string or Array of strings Scope the statistics with a set of KnowledgeGraph UID(s)if none is given, it will fetch all the ones linked to the Objective. | |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s), if none is given, it will fetch all the ones linked to the Objective. | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s)if none is given, it will fetch all the ones linked to the Objective. | |
group_by | Array of strings Items Enum: "nil || []" ["objective_id"] ["objective_uid"] ["objective_id","student_id"] ["objective_uid","student_uid"] ["objective_id","knowledge_graph_id"] ["objective_uid","knowledge_graph_uid"] ["objective_id","knowledge_node_id"] ["objective_uid","knowledge_node_uid"] ["objective_id","student_id","knowledge_graph_id"] ["objective_uid","student_uid","knowledge_graph_uid"] ["objective_id","student_id","knowledge_node_id"] ["objective_uid","student_uid","knowledge_node_uid"] ["objective_id","student_id","knowledge_graph_id","knowledge_node_id"] ["objective_uid","student_uid","knowledge_graph_uid","knowledge_node_uid"] Group the stats for the chosen Objective by specific Object attributes, please ensure to follow the group_by order. |
{- "objective_uid": [
- "objective_1",
- "objective_2"
], - "group_by": [
- "objective_uid",
- "student_uid"
]
}
{- "average_memory_level": {
- "objective_1": {
- "student_1": {
- "average_memory_level": 1.5
}, - "student_2": {
- "average_memory_level": 3.5
}
}, - "objective_2": {
- "student_1": {
- "average_memory_level": 0.5
}, - "student_2": {
- "average_memory_level": 2
}
}
}
}
Get the percentage of the perfomed actions for a given Objective or list of Objectives
objective_id required | integer Scope the statistics with specific Objective ID(s), required if no UID is given. |
objective_uid required | string Scope the statistics with specific Objective UID(s), required if no ID is given. |
student_id | integer Scope the statistics with specific Student ID(s), if not given, it will fetch the stats related to all the students linked to the given Objective. |
student_uid | string Scope the statistics with specific Student UID(s), if not given, it will fetch the stats related to all the students linked to the given Objective. |
group_by | Array of strings Items Enum: "nil || []" ["objective_id"] ["objective_uid"] ["objective_id","student_id"] ["objective_uid","student_uid"] Group by the stats for the chosen Objectives by specific Object attributes. |
{- "objective_uid": "objective_1",
- "group_by": [
- "objective_uid",
- "student_uid"
]
}
{- "objective_1": {
- "student_1": {
- "total_actions": 10,
- "performed_actions": 8,
- "percentage_performed_actions": 80
}, - "student_2": {
- "total_actions": 10,
- "performed_actions": 8,
- "percentage_performed_actions": 80
}, - "student_3": {
- "total_actions": 10,
- "performed_actions": 8,
- "percentage_performed_actions": 80
}
}
}
Get the average potential memory level according to group_by params if grouped_by Knowledge Graph and the potential memory level for each KnowledgeNode if grouped_by knowledge_node.
required | integer or Array of integers Scope the statistics with specific Student ID(s), required if no UID is given. |
required | string or Array of strings Scope the statistics with a set of Student UID(s), required if no UID is given. |
integer or Array of integers Scope the statistics with specific Objective ID(s), if none is given, it is required if no KnowledgeGraph or KnowledgeNode is given. | |
string or Array of strings Scope the statistics with specific Objective UID(s), if none is given, it is required if no KnowledgeGraph or KnowledgeNode is given. | |
integer or Array of integers Scope the statistics with specific KnowledgeGraph ID(s), it is required if no Objective or KnowledgeNode is given. | |
string or Array of strings Scope the statistics with a set of KnowledgeGraph UID(s)if none is given, it is required if no Objective or KnowledgeNode is given. | |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s), it is required if no Objective or KnowledgeGraph is given. | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s), it is required if no Objective or KnowledgeGraph is given. | |
group_by | Array of strings Items Enum: ["objective_id","knowledge_node_id"] ["objective_uid","knowledge_node_uid"] ["knowledge_graph_id"] ["knowledge_graph_uid"] ["knowledge_node_id"] ["knowledge_node_uid"] ["knowledge_graph_id","knowledge_node_id"] ["knowledge_graph_uid","knowledge_node_uid"] Group the stats for the chosen Students by specific Object attributes, please ensure to follow the group_by order. |
{- "student_uid": [
- "student_1",
- "student_2"
], - "group_by": [
- "objective_uid",
- "knowledge_node_uid"
]
}
{- "student_1": {
- "objective_1": {
- "average_memory_level": 2.5,
- "potential_average_memory_level": 3.05,
- "knowledge_node_1": {
- "memory_level": 1.5,
- "potential_memory_level": 2.1
}, - "knowledge_node_2": {
- "memory_level": 3.5,
- "potential_memory_level": 4
}
}
}, - "student_2": {
- "objective_1": {
- "average_memory_level": 1.25,
- "potential_average_memory_level": 1.75,
- "knowledge_node_1": {
- "memory_level": 0.5,
- "potential_memory_level": 1
}, - "knowledge_node_2": {
- "memory_level": 2,
- "potential_memory_level": 2.5
}
}
}
}
The GameplayUtils is not an object per se but a useful entity to manage retrieve Student statistics, their progress, learning or memorization activities and their interactions with specific Content objects.
Get the percentage of active students, an active student is a student who made at least an interaction.
student_id required | string List of Student ID to scope the request. |
objective_id | string List of Objective ID to scope the request. |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
start_date | string <date> Scope the students that made interaction after the start date. |
end_date | string <date> Scope the students that made interaction before the ending date. |
{- "student_id": "[14, 167, 314, 34]",
- "objective_id": "[12]"
}
75.1
Get the Student validation progress (percentage of validation, mastery score, threshold for validation)
integer or Array of integers Scope the statistics with specific Student ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with a set of Student UID(s). At least one scope parameter is required. | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s). At least one scope parameter is required. | |
integer or Array of integers Scope the statistics with specific Objective ID(s). At least one scope parameter is required. | |
string or Array of strings Scope the statistics with specific Objective UID(s). At least one scope parameter is required. | |
attempt_nb | integer Scope the statistics to a specific Attempt (doesn't count as a scope parameter). |
group_by | Array of strings Items Enum: "student_id" "student_uid" "knowledge_node_id" "knowledge_node_uid" "month" Group by the validation statistics by specific Object attributes |
{- "student_id": [
- 47,
- 214
], - "group_by": [
- "student_id"
]
}
{- "47": {
- "percentage_validation": 75,
- "average_mastery": 2,
- "average_threshold": 4
}, - "214": {
- "percentage_validation": 12,
- "average_mastery": 1.3,
- "average_threshold": 4
}
}
Get Event statistics for the scope specified in input
event_type | string Default: "EventReview" Enum: "EventReview" "EventResult" "EventRead" "EventError" Scope the statistics with the type of the Event. |
integer or Array of integers Scope the statistics with specific Student ID(s). | |
string or Array of strings Scope the statistics with a set of Student UID(s). | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific Content ID(s). | |
string or Array of strings Scope the statistics with a set of Content UID(s). | |
integer or Array of integers Scope the statistics with specific KnowledgeNode ID(s). | |
string or Array of strings Scope the statistics with a set of KnowledgeNode UID(s). | |
string or Array of strings Scope the statistics with a set of KnowledgeGraph UID(s). | |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
string or Array of strings Scope the statistics with specific Objective UID(s). | |
attempt_nb | integer Scope the statistics with only Events linked to this Attempt. |
start_date | string <date> Scope the statistics with only Events that were generated after the starting date. |
end_date | string <date> Scope the statistics with only Events that were generated before the ending date. |
group_by | Array of strings Items Enum: "student_id" "student_uid" "knowledge_node_id" "knowledge_node_uid" "content_id" "month" Group by the Event statistics by specific Object attributes |
{- "student_uid": [
- "student_1",
- "student_2"
], - "event_type": "EventResult",
- "group_by": [
- "student_uid"
]
}
{- "student_1": {
- "size": 24,
- "right": 8,
- "wrong": 16,
- "success": 0.3333,
- "last_event": "2020-06-11T09:20:28.328Z",
- "time_spent": 560002,
- "average_time_spent": 23333.4
}, - "student_2": {
- "size": 12,
- "right": 8,
- "wrong": 4,
- "success": 0.6666,
- "last_event": "2020-06-11T09:20:28.328Z",
- "time_spent": 560002,
- "average_time_spent": 23333.4
}
}
Fetch LearningSessions with specific parameters
student_id required | integer Student ID. |
student_uid required | string Student UID, required if no student_id. |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
objective_id | integer Objective ID. |
objective_uid | string Objective UID, required if no objective_id. |
knowledge_node_id | integer Object related to a specific KnowledgeNode |
knowledge_node_uid | string Object related to a specific KnowledgeNode |
attempt_nb | integer The attempt number to which the LearningSession is linked to, for a Positioning LS with multiple attempts. |
active | boolean Get the statistics of a specific LearningSession state. |
type | string Enum: "LearningSessionPositioning" "LearningSessionAdaptive" "LearningSessionMemorize" "LearningSessionCustom" Get the statistics of this LearningSessions type only. |
starting_time | string <date> Get the statistics with only LearningSessions that were generated after the starting date. |
ending_time | string <date> Get the statistics with only LearningSessions that were generated before the ending date. |
group_by | Array of strings Items Enum: "student_id" "student_uid" "objective_id" "knowledge_node_id" "knowledge_node_uid" Group by the LearningSessions statistics by specific Object attributes |
{- "student_uid": [
- "student_1",
- "student_2"
], - "type": "LearningSessionMemorize",
- "group_by": [
- "student_uid"
]
}
{- "student_1": {
- "interaction_count": 10,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 0,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 4,
- "percentage_success": 0.5,
- "time_spent": 340210,
- "average_time_spent": 2340,
- "last_event": "2021-03-07T17:58:37.459Z",
- "last_interaction": "2021-03-07T17:58:37.459Z",
- "nb_pending_learning_session": 1,
- "nb_completed_learning_session": 0
}, - "student_2": {
- "interaction_count": 15,
- "result_count": 8,
- "rating_count": 2,
- "read_count": 0,
- "review_count": 5,
- "error_count": 0,
- "osa_count": 0,
- "success_count": 0,
- "percentage_success": 0,
- "time_spent": 27435,
- "average_time_spent": 1767,
- "last_event_at": "2021-03-07T17:58:37.459Z",
- "last_interaction": "2021-03-07T17:58:37.459Z",
- "nb_pending_learning_session": 1,
- "nb_completed_learning_session": 0
}
}
Get the number of Interactions (Events & OSA) for a specified scope
interaction_type required | string Enum: "osa" "event" Scope the interactions to specific type of interaction. |
event_type | string Default: "EventReview" Enum: "EventReview" "EventResult" "EventRead" "EventError" Scope the events with the type of the Event (only for interaction_type set to event). |
integer or Array of integers Scope the statistics with specific Student ID(s). | |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
start_date | string <date> Count the number of Interactions from this starting date. |
end_date | string <date> Count the number of Interactions before this ending date. |
group_by | Array of strings Items Enum: "knowledge_node_id" "student_id" "month" Group by the number of Interactions by specific Object attributes. |
{- "student_id": [
- 14,
- 29
], - "start_date": "2017-07-21",
- "ending_date": "2017-09-21",
- "group_by": [
- "knowledge_node_id",
- "student_id"
]
}
{- "kn_id_1": {
- "student_id_1": 478,
- "student_id_2": 124
}, - "kn_id_2": {
- "student_id_1": 141,
- "student_id_2": 241
}
}
Get the number of Events for a specified scope
event_type | string Default: "EventReview" Enum: "EventReview" "EventResult" "EventRead" "EventError" Scope the events with the type of the Event. |
integer or Array of integers Scope the statistics with specific Student ID(s). | |
string or Array of strings Scope the statistics with specific Student UID(s). | |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
string or Array of strings Scope the statistics with specific Objective UID(s). | |
start_date | string <date> Count the number of Events from this starting date. |
end_date | string <date> Count the number of Events before this ending date. |
group_by | Array of strings Items Enum: "knowledge_node_id" "student_id" "month" Group by the number of Events by specific Object attributes. |
{- "student_id": [
- 14,
- 29
], - "start_date": "2017-07-21",
- "ending_date": "2017-09-21",
- "group_by": [
- "knowledge_node_id",
- "student_id"
]
}
{- "kn_id_1": {
- "student_id_1": 478,
- "student_id_2": 124
}, - "kn_id_2": {
- "student_id_1": 141,
- "student_id_2": 241
}
}
Get consolidated review statistics per Objective or KnowledgeGraph for a set of students
student_uids | Array of strings List of Student UIDs to scope the request. |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
knowledge_graph_uids required | Array of strings List of KnowledgeGraph UIDs to scope the request. Required if no objective_uids. |
objective_uids required | Array of strings List of Objective UIDs to scope the request. Required if no knowledge_graph_uids. |
limit | integer Default: 100 Limit number of students shown in the output response. |
page | integer Page of the output response. One page contains a limited number of data defined by "limit". |
{- "objective_uids": [
- "objective_1"
], - "student_uids": [
- "student_1"
]
}
{- "objectives": [
- {
- "objective_1": [
- {
- "student_uid": "student_1",
- "step_review": 2.3,
- "next_review_at": "2020-06-11T09:20:28.328Z",
- "next_review_dates": [
- "2020-06-11T09:20:28.328Z",
- "2020-06-11T09:20:28.534Z"
], - "pending_review_count": 2,
- "last_review_at": "2020-06-04T09:20:28.534Z",
- "review_count": 7,
- "correct_reviews": 5,
- "wrong_reviews": 2,
- "success_rate": 0.75,
- "time_spent": 41000,
- "average_time_spent": 3000
}
]
}
]
}
Get a step review score linked to the state of memorization of the set of Students.
integer or Array of integers Scope the statistics with specific Student ID(s). | |
string or Array of strings Scope the statistics with specific Student UID(s). | |
student_ids | Array of integers Deprecated Scope the statistics with specific Student ID(s). |
student_uids | Array of strings Deprecated Scope the statistics with specific Student UID(s). |
exclude_test_students | boolean Default: false Whether to exclude the test students from the stats, default is set to false. |
integer or Array of integers Scope the statistics with specific Objective ID(s). | |
string or Array of strings Scope the statistics with specific Objective UID(s). | |
knowledge_node_ids | Array of integers Get step review scores for this specific set of KnowledgeNode IDs. |
knowledge_graph_uids | Array of strings Get step review scores for this specific set of KnowledgeGraph UIDs. If this parameter is used the output format will be modified and the global step review score will be shown. |
{- "student_uids": [
- "student_1"
], - "knowledge_graph_uids": [
- "kg_1"
]
}
{- "knowledge_nodes": [
- {
- "name": null,
- "step_reviews": [
- 0.8
], - "uid": "kn_1"
}, - {
- "name": null,
- "step_reviews": [
- 1.6
], - "uid": "kn_2"
}
], - "mean_step_review": 1.2
}
Get the average memorization progress of the reviews for a specific scope. If the scope is defined with KnowledgeGraphs, the ouput will be grouped by KnowledgeGraph.
student_ids | Array of integers List of Student IDs to scope the request. |
student_uids | Array of strings List of Student UIDs to scope the request. |
student_id | Array of integers Deprecated List of Student IDs to scope the request. |
objective_id | Array of integers List of Objective IDs to scope the request. |
knowledge_node_id | Array of integers List of KnowledgeNodes IDs to scope the request. |
knowledge_graph_uids | Array of strings List of KnowledgeGraph UIDs to scope the request. If this input is used, the response will be grouped by KnowledgeGraph. |
group_by_kn | boolean If true, the response will be grouped by KnowledgeNode. |
mode | string If mode set to "details", the response will be grouped by Student. |
{- "student_uids": [
- "student_1",
- "student_2",
- "student_3"
], - "knowledge_node_id": [
- 12,
- 47
]
}
{- "review_progress": 0.6
}
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"
Explain what we get using this route. For your request to be valid, you need to provide at least a learning_program_uid or a objective_uid, and at least a student_uid or a student_group_uid.
student_uid required | string List of Student UID to scope the request. |
student_group_uid required | string List of Student Group UID to scope the request. |
objective_uid required | string List of Objective UID to scope the request. |
learning_program_uid required | string List of Learning Program UID to scope the request. |
start_date required | string <date> Scope the starting date. |
end_date required | string <date> Scope the ending date. |
{- "student_uid": [
- "student_uid_1",
- "student_uid_2",
- "student_uid_3"
], - "objective_uid": [
- "obj_uid_1",
- "obj_uid_2"
], - "start_date": "2022-01-01",
- "end_date": "2023-01-01"
}
"TBD"