UserSchema
File
GraphQL Schema
Summary
This file contains the GraphQL schema types for the KA API.
Description
This file exists to reduce code duplication and because GraphQL operates using schemas.
Khan Academy's safelisted GraphQL queries will usually not request any schema entirely so TypeScript's Pick
and Omit
utility types may come in handy.
Type parameters
• AvatarData = AvatarSchema
• ProfileData = ProfileSchema
• ListProgramsData = ListProgramsSchema
Properties
__typename
__typename:
"User"
Source
actorHasUserScopedPermission
actorHasUserScopedPermission:
boolean
Source
authEmails
authEmails:
null
|string
[]
Source
autocontinueOn
autocontinueOn:
null
|boolean
Source
avatar
avatar:
AvatarData
Source
badgeCounts
badgeCounts:
string
Source
bio
bio:
string
Source
birthMonthYear
birthMonthYear:
unknown
Source
canAccessDistrictsHomepage
canAccessDistrictsHomepage:
boolean
Source
canHellban
canHellban:
null
|boolean
Source
canMessageUsers
canMessageUsers:
null
|boolean
Source
canModifyCoaches
canModifyCoaches:
null
|boolean
Source
countVideosCompleted
countVideosCompleted:
number
Source
email
email:
null
|string
Source
gaUserId
gaUserId:
null
|string
Source
hasAccessToAIGuideDev
hasAccessToAIGuideDev:
boolean
Source
hasAccessToAIGuideTeacher
hasAccessToAIGuideTeacher:
boolean
Source
hasChildren
hasChildren:
null
|boolean
Source
hasClasses
hasClasses:
null
|boolean
Source
hasCoach
hasCoach:
null
|boolean
Source
hasStudents
hasStudents:
null
|boolean
Source
hasUnresolvedInvitations
hasUnresolvedInvitations:
null
|boolean
Source
hideVisual
hideVisual:
null
|boolean
Source
homepageUrl
homepageUrl:
null
|string
Source
id
id:
null
| `kaid_${number}`
Same as KAID unless the user is anonymous
Source
includesDistrictOwnedData
includesDistrictOwnedData:
boolean
Source
includesK4dDistrictOwnedData
includesK4dDistrictOwnedData:
boolean
Source
includesKmapDistrictOwnedData
includesKmapDistrictOwnedData:
boolean
Source
isAIGuideEnabled
isAIGuideEnabled:
boolean
Source
isActor
isActor:
boolean
Source
isChild
isChild:
null
|boolean
Source
isCoachedByActor
isCoachedByActor:
boolean
Source
isCoachingLoggedInUser
isCoachingLoggedInUser:
boolean
Source
isCreator
isCreator:
null
|boolean
Source
isCurator
isCurator:
null
|boolean
Source
isDataCollectible
isDataCollectible:
null
|boolean
Source
isDeveloper
isDeveloper:
null
|boolean
Source
isFormalTeacher
isFormalTeacher:
null
|boolean
Source
isK4dStudent
isK4dStudent:
null
|boolean
Source
isKmapStudent
isKmapStudent:
null
|boolean
Source
isMidsignupPhantom
isMidsignupPhantom:
boolean
Source
isModerator
isModerator:
null
|boolean
Source
isOrphan
isOrphan:
null
|boolean
Source
isParent
isParent:
null
|boolean
Source
isPhantom
isPhantom:
boolean
Source
isPublisher
isPublisher:
null
|boolean
Source
isSatStudent
isSatStudent:
null
|boolean
Source
isSelf
isSelf:
boolean
Source
isTeacher
isTeacher:
null
|boolean
Source
joined
joined:
string
Source
kaid
kaid:
""
| `kaid_${number}`
Will always be a string if requested in the GraphQL query. Defaults to empty string (''
) for anonymous users.
Source
key
key:
null
|string
Source
lastLoginCountry
lastLoginCountry:
null
|string
Source
muteVideos
muteVideos:
null
|boolean
Source
newNotificationCount
newNotificationCount:
null
|number
Source
nickname
nickname:
null
|string
Source
noColorInVideos
noColorInVideos:
null
|boolean
Source
pendingEmailVerifications
pendingEmailVerifications:
null
|PendingEmailVerificationSchema
[]
Source
points
points:
number
Source
preferredKaLocale
preferredKaLocale:
null
|LocaleSchema
Source
prefersReducedMotion
prefersReducedMotion:
null
|boolean
Source
profile
profile:
ProfileData
Source
profileRoot
profileRoot:
null
| `/profile/${string}/`
Defaults to null
for anonymous users.
Source
programs
programs:
ListProgramsData
Source
qualarooId
qualarooId:
null
| `kaid_${number}` | `_gae_bingo_random:${string}`
Either Qualaroo ID or KAID
Link
https://github.com/kamens/gae_bingo
Deprecated
Since 2023-04-24
Source
region
region:
unknown
Source
shouldShowAgeCheck
shouldShowAgeCheck:
null
|boolean
Source
showCaptions
showCaptions:
null
|boolean
Source
signupDataIfUnverified
signupDataIfUnverified:
unknown
Source
soundOn
soundOn:
null
|boolean
Source
tosAccepted
tosAccepted:
null
|boolean
Source
transferAuthToken
transferAuthToken:
string
Source
underAgeGate
underAgeGate:
unknown
Source
userId
userId: `kaid_${number}` | `http://googleid.khanacademy.org/$\{number\}\`
Either Google ID or KAID
Source
userSummaryIsVisibleToActor
userSummaryIsVisibleToActor:
boolean
Source
username
username:
string