learning
Ranked hardest topics (low completion + low scores).
Ranked hardest topics (low completion + low scores).
OpenAPI specificationPOST
/api/v1/learning/struggling-topicsAuthentication
bearerAuth
Request
curl --globoff --request POST \
--url 'https://honen.com/api/v1/learning/struggling-topics' \
--header 'Authorization: Bearer <BEARER_TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
"courseId": "<courseId>"
}'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": {
"courseId": {
"type": "string"
},
"groupId": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 0,
"exclusiveMinimum": true
}
},
"required": [
"courseId"
]
}Responses
200Command result.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {
"courseId": {
"type": "string"
},
"totalMembers": {
"type": "number"
},
"topics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"unitId": {
"type": "string"
},
"unitTitle": {
"type": "string"
},
"topicId": {
"type": "string"
},
"topicTitle": {
"type": "string"
},
"completion": {
"type": "number"
},
"avgScore": {
"type": "number",
"nullable": true
},
"avgTimeSeconds": {
"type": "number",
"nullable": true
},
"struggleScore": {
"type": "number"
}
},
"required": [
"unitId",
"unitTitle",
"topicId",
"topicTitle",
"completion",
"avgScore",
"avgTimeSeconds",
"struggleScore"
]
}
}
},
"required": [
"courseId",
"totalMembers",
"topics"
]
}
},
"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"
]
}