Teachable · Schema

TeachableUser

A user registered on a Teachable school.

Online CoursesE-LearningEducationCourse ManagementEnrollmentsCoachingMembershipsTransactions

Properties

Name Type Description
id integer The unique ID of the user.
name stringnull The name of the user.
email string The email address of the user.
role string The role of the user on the school.
last_sign_in_ip stringnull IP address of the user's last sign-in, or null if they have never signed in.
src stringnull The signup source of the user, displayed on the Information tab.
courses array List of courses the user is or has been enrolled in.
tags array Tags applied to the user.
View JSON Schema on GitHub

JSON Schema

teachable-user.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/teachable/main/json-schema/teachable-user.json",
  "title": "TeachableUser",
  "description": "A user registered on a Teachable school.",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The unique ID of the user."
    },
    "name": {
      "type": ["string", "null"],
      "description": "The name of the user."
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "The email address of the user."
    },
    "role": {
      "type": "string",
      "description": "The role of the user on the school.",
      "enum": ["student", "owner", "affiliate", "author", "custom"]
    },
    "last_sign_in_ip": {
      "type": ["string", "null"],
      "description": "IP address of the user's last sign-in, or null if they have never signed in."
    },
    "src": {
      "type": ["string", "null"],
      "description": "The signup source of the user, displayed on the Information tab."
    },
    "courses": {
      "type": "array",
      "description": "List of courses the user is or has been enrolled in.",
      "items": {
        "$ref": "#/definitions/UserCourse"
      }
    },
    "tags": {
      "type": "array",
      "description": "Tags applied to the user.",
      "items": {
        "$ref": "#/definitions/UserTag"
      }
    }
  },
  "required": ["id", "email", "role"],
  "definitions": {
    "UserCourse": {
      "type": "object",
      "properties": {
        "course_id": { "type": "integer" },
        "course_name": { "type": "string" },
        "enrolled_at": { "type": "string", "format": "date-time" },
        "is_active_enrollment": { "type": "boolean" },
        "completed_at": { "type": ["string", "null"], "format": "date-time" },
        "percent_complete": { "type": "number", "minimum": 0, "maximum": 100 }
      },
      "required": ["course_id", "course_name", "enrolled_at", "is_active_enrollment"]
    },
    "UserTag": {
      "type": "object",
      "properties": {
        "name": { "type": "string" }
      },
      "required": ["name"]
    }
  }
}