learning
One learner's graded project: rubric grade + submission (form field responses, etc.).
One learner's graded project: rubric grade + submission (form field responses, etc.).
OpenAPI specificationPOST
/api/v1/learning/project-resultsAuthentication
bearerAuth
Request
curl --globoff --request POST \
--url 'https://honen.com/api/v1/learning/project-results' \
--header 'Authorization: Bearer <BEARER_TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
"userId": "<userId>",
"projectId": "<projectId>"
}'Replace credential and <field> placeholders with your own values. URL placeholders appear as %3Cfield%3E. Review the example values before sending your request.
Use the sample JSON body as your starting point, and enter values that match the endpoint's schema.
Request body schema or example
{
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"attemptId": {
"type": "string"
}
},
"required": [
"userId",
"projectId"
]
}Responses
200Command result.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {
"projectTitle": {
"type": "string"
},
"projectType": {
"type": "string"
},
"attempts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"attemptNumber": {
"type": "number"
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"submittedAt": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"attemptNumber",
"score",
"maxScore",
"submittedAt"
]
}
},
"selected": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"attemptNumber": {
"type": "number"
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"submittedAt": {
"type": "string",
"nullable": true
},
"overallFeedback": {
"type": "string",
"nullable": true
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"properties": {
"criterion": {
"type": "string"
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"feedback": {
"type": "string"
}
},
"required": [
"criterion",
"score",
"maxScore",
"feedback"
]
}
},
"form": {
"type": "object",
"properties": {
"config": {
"description": "Arbitrary JSON value."
},
"submission": {
"type": "object",
"additionalProperties": {
"description": "Arbitrary JSON value."
}
}
},
"required": [
"config",
"submission"
],
"nullable": true
},
"submission": {
"description": "Arbitrary JSON value."
}
},
"required": [
"id",
"attemptNumber",
"score",
"maxScore",
"submittedAt",
"overallFeedback",
"criteria",
"form",
"submission"
],
"nullable": true
}
},
"required": [
"projectTitle",
"projectType",
"attempts",
"selected"
]
}
},
"required": [
"success",
"data"
]
}400Malformed JSON request body.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"resolution": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"details": {
"nullable": true
}
},
"required": [
"code",
"message",
"resolution"
]
}
},
"required": [
"success",
"error"
]
}401Missing or invalid Connector credentials.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"resolution": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"details": {
"nullable": true
}
},
"required": [
"code",
"message",
"resolution"
]
}
},
"required": [
"success",
"error"
]
}403Connector policy does not permit this command.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"resolution": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"details": {
"nullable": true
}
},
"required": [
"code",
"message",
"resolution"
]
}
},
"required": [
"success",
"error"
]
}404Unknown command.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"resolution": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"details": {
"nullable": true
}
},
"required": [
"code",
"message",
"resolution"
]
}
},
"required": [
"success",
"error"
]
}422Input validation error.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
false
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"resolution": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"details": {
"nullable": true
}
},
"required": [
"code",
"message",
"resolution"
]
}
},
"required": [
"success",
"error"
]
}