Skip to content

UserDetail

Defined in: v1/schemas.ts:112

A detailed user object as returned from the /users/:id endpoint. Includes role, sign-in metadata, IP address, tags, and an optional list of course enrolments.

src — the signup source of the user, visible in the Information tab of the user profile in the Teachable dashboard. Can be used as a custom identifier to associate a Teachable user with records in external systems (e.g. a CRM ID, unique tag, or external user ID). Frequently null if not set at signup.

tags — an array of tag objects assigned to the user. Each tag has a single name field. May be an empty array if no tags are assigned. Tags can be managed through the Teachable dashboard or assigned at signup via the src field.

last_sign_in_ip — only populated for users who have signed in at least once.

Course array — uses course_name (not name) based on observed live API responses, which differs from the official documentation.

  • output<typeof UserDetailSchema>

optional courses?: { completed_at?: string | null; course_id?: number; course_name?: string; enrolled_at?: string | null; is_active_enrollment?: boolean; percent_complete?: number; }[]

Defined in: v1/schemas.ts:79

optional completed_at?: string | null

optional course_id?: number

optional course_name?: string

optional enrolled_at?: string | null

optional is_active_enrollment?: boolean

optional percent_complete?: number

z.infer.courses


email: string

Defined in: v1/schemas.ts:69

z.infer.email


id: number

Defined in: v1/schemas.ts:68

z.infer.id


optional last_sign_in_at?: string | null

Defined in: v1/schemas.ts:73

z.infer.last_sign_in_at


optional last_sign_in_ip?: string | null

Defined in: v1/schemas.ts:74

z.infer.last_sign_in_ip


optional name?: string | null

Defined in: v1/schemas.ts:70

z.infer.name


optional role?: string

Defined in: v1/schemas.ts:72

z.infer.role


optional sign_in_count?: number

Defined in: v1/schemas.ts:75

z.infer.sign_in_count


optional src?: string | null

Defined in: v1/schemas.ts:71

z.infer.src


optional tags?: { name: string; }[]

Defined in: v1/schemas.ts:76

name: string

z.infer.tags