Skip to main content

User management

Console client configuration · Response and shared models

User operations require the target application ID. list returns a page and search returns a user selection list. requireOriginId=true limits search to users with a business identity. setStatus accepts active or disabled.

issueToken obtains classroom user credentials through the console endpoint. The app-credential client’s client.auth.issueToken signs locally with the application secret. Classroom credentials and tenant management access tokens have different purposes.

Application backends use application business APIs with app credentials. This page describes the separate tenant management calls.

users.list​

List users.

GET /v1/users

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.users.list(appId, input)
Pythonc.users.list(app_id, **input)
Javac.users.list(appId, input)
Goc.Users.List(ctx, appID, input, &result)
PHP$c->users->list($appId, $input)

Input: ListEduUsersQuery. Fields are sent as URL query parameters.

FieldRequiredTypeDescription
statusNoEduUserStatus | undefinedStatus filter or target status
qNostring | undefinedSearch keyword
pageNonumber | undefinedPage number starting at 1
pageSizeNonumber | undefinedMaximum items per page

Returns: ListEduUsersResult. See shared models for nested fields.

users.search​

Search users.

GET /v1/users/search

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.users.search(appId, input)
Pythonc.users.search(app_id, **input)
Javac.users.search(appId, input)
Goc.Users.Search(ctx, appID, input, &result)
PHP$c->users->search($appId, $input)

Input: SearchEduUsersQuery. Fields are sent as URL query parameters.

FieldRequiredTypeDescription
qNostring | undefinedSearch keyword
statusNoEduUserStatus | undefinedStatus filter or target status
limitNonumber | undefinedSearch result limit, maximum 50
requireOriginIdNoboolean | undefinedOnly users with a business identity

Returns: SearchEduUsersResult. See shared models for nested fields.

users.create​

Create user.

POST /v1/users

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.users.create(appId, input)
Pythonc.users.create(app_id, **input)
Javac.users.create(appId, input)
Goc.Users.Create(ctx, appID, input, &result)
PHP$c->users->create($appId, $input)

Input: CreateEduUserPayload. Fields are sent in the JSON body.

FieldRequiredTypeDescription
originIdNostring | undefinedBusiness user identifier
nicknameYesstringDisplay name
avatarYesstringAvatar URL

Returns: EduUserRecord. See shared models for nested fields.

users.setStatus​

Set user status.

PATCH /v1/users/status

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.users.setStatus(appId, input)
Pythonc.users.set_status(app_id, **input)
Javac.users.setStatus(appId, input)
Goc.Users.SetStatus(ctx, appID, input, &result)
PHP$c->users->setStatus($appId, $input)

Input: UserStatusInput. Fields are sent in the JSON body.

FieldRequiredTypeDescription
eduUserIdYesstringClassroom user ID
statusYesEduUserStatusStatus filter or target status

Returns: EduUserRecord. See shared models for nested fields.

users.issueToken​

Issue user token.

POST /v1/users/token

Authentication: tenant Bearer token and x-app-id.

LanguageCall
Node.jsc.users.issueToken(appId, input)
Pythonc.users.issue_token(app_id, **input)
Javac.users.issueToken(appId, input)
Goc.Users.IssueToken(ctx, appID, input, &result)
PHP$c->users->issueToken($appId, $input)

Input: UserTokenInput. Fields are sent in the JSON body.

FieldRequiredTypeDescription
eduUserIdYesstringClassroom user ID
expiresInNonumber | undefinedUser token lifetime in seconds, 60–604800

Returns: EduUserTokenResult. See shared models for nested fields.