courses
Unit/topic structure for a course.
Unit/topic structure for a course.
OpenAPI specificationPOST
/api/v1/courses/structureAuthentication
bearerAuth
Request
curl --globoff --request POST \
--url 'https://honen.com/api/v1/courses/structure' \
--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"
}
},
"required": [
"courseId"
]
}Responses
200Command result.
{
"type": "object",
"properties": {
"success": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {
"courseId": {
"type": "string"
},
"courseTitle": {
"type": "string"
},
"canEdit": {
"type": "boolean",
"enum": [
false,
true
]
},
"readOnlyNote": {
"type": "string",
"nullable": true
},
"unitCount": {
"type": "number"
},
"topicCount": {
"type": "number"
},
"projectCount": {
"type": "number"
},
"unitTestCount": {
"type": "number"
},
"units": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"orderIndex": {
"type": "number"
},
"contentOrder": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"id"
]
}
},
"topics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"orderIndex": {
"type": "number"
},
"learningGoalCount": {
"type": "number"
},
"activityTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"editUrl": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"title",
"description",
"orderIndex",
"learningGoalCount",
"activityTypes",
"editUrl"
]
}
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"orderIndex": {
"type": "number"
},
"editUrl": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"title",
"type",
"orderIndex",
"editUrl"
]
}
},
"test": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"questionCount": {
"type": "number"
},
"editUrl": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"title",
"questionCount",
"editUrl"
],
"nullable": true
}
},
"required": [
"id",
"title",
"description",
"orderIndex",
"topics",
"projects",
"test"
]
}
}
},
"required": [
"courseId",
"courseTitle",
"canEdit",
"readOnlyNote",
"unitCount",
"topicCount",
"projectCount",
"unitTestCount",
"units"
]
}
},
"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"
]
}