Skip to content
Honen Academy

courses

Topic detail (learning goals + activities).

Topic detail (learning goals + activities).

OpenAPI specification
POST/api/v1/courses/topic

Authentication

bearerAuth

Request

curl --globoff --request POST \
  --url 'https://honen.com/api/v1/courses/topic' \
  --header 'Authorization: Bearer <BEARER_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "topicId": "<topicId>"
}'

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": {
    "topicId": {
      "type": "string"
    }
  },
  "required": [
    "topicId"
  ]
}

Responses

200Command result.
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        true
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "topicId": {
          "type": "string"
        },
        "unitId": {
          "type": "string"
        },
        "courseId": {
          "type": "string"
        },
        "courseTitle": {
          "type": "string"
        },
        "unitTitle": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "nullable": true
        },
        "instructions": {
          "type": "string",
          "nullable": true
        },
        "orderIndex": {
          "type": "number"
        },
        "learningGoals": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "id",
              "title",
              "description"
            ]
          }
        },
        "activities": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "FLASHCARDS"
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "cards": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "term": {
                          "type": "string"
                        },
                        "definition": {
                          "type": "string"
                        },
                        "hint": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "term",
                        "definition",
                        "hint"
                      ]
                    }
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "type",
                  "status",
                  "title",
                  "cards"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "QUIZ"
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "questions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "prompt": {
                          "type": "string"
                        },
                        "options": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "correctAnswerIndex": {
                          "type": "number",
                          "nullable": true
                        },
                        "explanation": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "prompt",
                        "options",
                        "correctAnswerIndex",
                        "explanation"
                      ]
                    }
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "type",
                  "status",
                  "title",
                  "description",
                  "questions"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "OTHER"
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "contentNote": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "type",
                  "status",
                  "title",
                  "description",
                  "contentNote"
                ]
              }
            ]
          }
        },
        "editUrl": {
          "type": "string",
          "nullable": true
        }
      },
      "required": [
        "topicId",
        "unitId",
        "courseId",
        "courseTitle",
        "unitTitle",
        "title",
        "description",
        "instructions",
        "orderIndex",
        "learningGoals",
        "activities",
        "editUrl"
      ]
    }
  },
  "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"
  ]
}