Here is the OpenAPI specification for our stable public endpoints.
Taskbase API (0.9.0)
https://api.taskbase.com/
- Default server
https://api.taskbase.com/tasks/${taskId}/feedback/compute
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.taskbase.com/tasks/${taskId}/feedback/compute' \
-H 'Authorization: Bearer <YOUR_UUID_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"userId": "some_anonymous_id",
"taskType": "FREEFORM_TEXT",
"answer": {
"content": "The Battle of Waterloo was in 1815."
}
}'
successful operation
The object containing metadata about the performed operation, along with helpful debugging information. Designed to simplify the integration process and does not include any production-related details that should be visible to the end user.
An array of Aspects that resulted in the given feedback.
The Aspect name.
The Aspect description.
Indicates whether an Aspect represents a misconception (wrong aspect) or a concept (correct aspect).
The feedback message.
The content of this part of the answer, included for convenience. It can also be obtained from the answer using the offset and length.
The position offset relative to the full answer.
An array of all detected Aspects for the given interaction.
The object containing information on how many points the student achieved.
{ "userId": "some_anonymous_id", "taskId": "0Ihkl0CyzoWSjDm5F", "taskType": "FREEFORM_TEXT", "metaData": { "taskAction": "CREATED", "tenantId": "string", "taskLink": "string" }, "result": { "sampleSolutions": [ … ], "sampleSolution": { … }, "feedback": [ … ], "answer": { … }, "allAspects": [ … ], "points": { … } } }
Request
This operation provides access to our formative feedback. The task included in the request is essential for context and must be provided with every request. This ensures synchronization and prevents issues where feedback might be based on an outdated version of the task.
The id
field in the task object is crucial for identifying answers associated with the same task. This field represents the task's identifier as defined in the client’s system.
If the id remains the same across requests but other task fields change, the system updates the fields for the existing task 𝑡. Feedback is then generated based on previously submitted answers and feedback related to task 𝑡 (*
). If the system has not seen the value of the id
field before, a new task 𝑡′ is created. In this case, there are no existing answers or feedback linked to task 𝑡′.
To avoid unintended behavior, only change the id field when creating a completely new task.
(*
) This applies only if the task types remain the same. If a request specifies a task type for t that differs from the type already associated with it from previous requests, an error will be returned.
Important note on task updates: Whenever a task is updated in the client's system, it should be assumed that these changes affect the feedback. Therefore, we recommend the following actions to align with the changes: test the feedback after making changes; create new answers to reflect the updated task; and consider reassigning existing feedback for previous answers. Without these measures, the generated feedback may no longer be accurate.
The problem statement of the task.
The task title. If left blank, the taskDefinition.id
will be used as the title during implicit task creation or update.
The task language.
Context, such as background knowledge or additional information, required to solve the task.
- Default server
https://api.taskbase.com/feedback/compute
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.taskbase.com/feedback/compute \
-H 'Authorization: Bearer <YOUR_UUID_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"userId": "some_anonymous_id",
"taskType": "FREEFORM_TEXT",
"taskDefinition": {
"id": "your_id_as_string",
"problemStatement": "When was the Battle of Waterloo?",
"type": "FREEFORM_TEXT"
},
"answer": {
"content": "The Battle of Waterloo was in 1815."
}
}'
successful operation
The object containing metadata about the performed operation, along with helpful debugging information. Designed to simplify the integration process and does not include any production-related details that should be visible to the end user.
An array of Aspects that resulted in the given feedback.
The Aspect name.
The Aspect description.
Indicates whether an Aspect represents a misconception (wrong aspect) or a concept (correct aspect).
The feedback message.
The content of this part of the answer, included for convenience. It can also be obtained from the answer using the offset and length.
The position offset relative to the full answer.
An array of all detected Aspects for the given interaction.
The object containing information on how many points the student achieved.
{ "userId": "some_anonymous_id", "taskId": "0Ihkl0CyzoWSjDm5F", "taskType": "FREEFORM_TEXT", "metaData": { "taskAction": "CREATED", "tenantId": "string", "taskLink": "string" }, "result": { "sampleSolutions": [ … ], "sampleSolution": { … }, "feedback": [ … ], "answer": { … }, "allAspects": [ … ], "points": { … } } }