Thought Industries · Schema

Enrollment

A course enrollment record linking a user to a course with progress tracking.

EducationLearningLMSLXPE-LearningTraining

Properties

Name Type Description
id string Unique enrollment identifier.
user_id string ID of the enrolled user.
course_id string ID of the course the user is enrolled in.
status string Current enrollment status.
progress number Completion percentage from 0 to 100.
enrolled_at string ISO 8601 timestamp when enrollment was created.
completed_at stringnull ISO 8601 timestamp of course completion. Null if not completed.
View JSON Schema on GitHub

JSON Schema

thought-industries-enrollment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://thoughtindustries.com/schemas/enrollment",
  "title": "Enrollment",
  "description": "A course enrollment record linking a user to a course with progress tracking.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique enrollment identifier."
    },
    "user_id": {
      "type": "string",
      "description": "ID of the enrolled user."
    },
    "course_id": {
      "type": "string",
      "description": "ID of the course the user is enrolled in."
    },
    "status": {
      "type": "string",
      "enum": ["enrolled", "in_progress", "completed"],
      "description": "Current enrollment status."
    },
    "progress": {
      "type": "number",
      "format": "float",
      "minimum": 0,
      "maximum": 100,
      "description": "Completion percentage from 0 to 100."
    },
    "enrolled_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when enrollment was created."
    },
    "completed_at": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "ISO 8601 timestamp of course completion. Null if not completed."
    }
  },
  "required": ["id", "user_id", "course_id", "status"],
  "additionalProperties": false
}