Revision History

6.0.13 2026-07

  • Create Course and Edit Course interfaces added multiple new parameters to support course organizational structure, student initiative join, class updates, temporary classrooms, co-creation document editing, AI features, etc. Involved interfaces: Create Course, Edit Course
    • New parameter: catId (Course organizational structure ID)
    • New parameter: allowInitiativeJoin (Allow students to proactively join the class)
    • New parameter: inviteState (Whether to show join class entry on shared webpage)
    • New parameter: allowTeacherAddFriend (Allow headteacher to add class members as friends)
    • New parameter: allowCourseNotice (Allow displaying class updates)
    • New parameter: allowTeacherCreateCourse (Allow teachers to start temporary classrooms)
    • New parameter: allowStudentCreateCourse (Allow students to start temporary classrooms)
    • New parameter: allowEditCoCreate (Co-creation setting - Students can edit co-creation documents)
    • New parameter: allowTeacherEditCoCreate (Co-creation setting - Teachers can edit co-creation documents)
    • New parameter: allowStudentUseAi (Co-creation setting - Students can use AI features)
    • New parameter: allowStudentUseAiAssistant (AI application setting - Students can use AI applications)
    • New response parameter: more_data.inviteUrl (Invitation link returned when allowInitiativeJoin=1 and course is a standard course)

6.0.12 2026-07

6.0.11 2026-07

6.0.10 2026-06

  • Classroom added AI settings parameter (aiSummaryConfig) to support chapter summary, subtitle list and AI teaching analysis Involved interfaces: Create Classroom, Edit Classroom

6.0.9 2026-04

6.0.8 2026-03

6.0.7 2026-03

Message Subscription: Class Related Data Sent After Class added the following message:

  • Classroom Attendance Data

After the class ends, the attendance data of the classroom will be pushed, including both absent and present data.

6.0.6 2026-02

  • Interface changes: The API now supports setting cloudFolderId .
    New parameter cloudFolderId added to the Create Classroom and Edit Classroom interfaces, as to support setting cloud folder on classroom.

6.0.5 2026-01

Data Subscribtion: The following fields have been added to the assignment grade push in HomeworkScore

  • State: Review status 40 The assignment has been graded; 50: The assignment has been returned

6.0.4 2025-11

6.0.3 2025-10

  • Interface changes: The unitId field for Create Classroom has been changed from required to optional. If no unitId parameter is provided, the classroom will be created under "No Unit Topic".
  • Interface changes: Create Classroom has added a rate limit, with no more than 1000 requests per minute

6.0.2 2025-09

Data Subscribtion: Messages related to LMS activities has added the following data:

6.0.1 2025-08

  • Interface changes: The API now supports setting OMO Live Session.
    New parameter omoStationBroadcast added to the Create Classroom and Edit Classroom interfaces, as to support OMO Live Session classrooms.

6.0 2025-05

ClassIn 6.0 Launch

ClassIn 6.0 clarifies the hierarchical concept of classes, courses, units, and activities, and eliminates the concept of lessons by transforming all lessons into classroom activities.
The following describes the usage of Lesson-related interfaces:

  • the Lesson-related interfaces include: creating a Lesson, modifying Lesson information, modifying the seatnumber in a Lesson, adding students to a Lesson, deleting students from a Lesson, setting recording live and playback for a Lesson.
  • The Lesson-related interfaces can still be called to create and modify lessons. However, in the app, they will no longer be displayed as "Lessons", but as "Classroom Activities" under the default Unit.
  • API user do not need to modify any interface code for this. However, it is recommended that API users with the capability switch to calling the LMS to create Classroom Activity series interfaces to replace the original Lesson-related interfaces. This is because the original interfaces will no longer support new features, new parameters, and other changes.
  • For the new API LMS class interface to create a classroom activity process, refer to Create a classroom Activity
  • The internal and external logic of User, Class, LMS, Institution, and Cloud Drive class interfaces remain unchanged. The details of this interface compatibility include:
  • About course and class in API : Due to historical reasons, all parameters and terms related to classes and class IDs are referred to as "course/courseID." For the sake of code, this term will not be changed and will default to mean "class". Currently, the newly added terms and concepts related to "course" are not yet involved in the API. All activities and units will be created under the main course of the class.

Details include:

  • Historical Data Migration: All lessons in a class have been converted to classroom activities and can be found under the default course, default unit, as classroom activities (which was lessons).

  • Lesson Creation Interface: This can still be called, generating a classroom activity located under the default unit of the default course. It still returns the lesson ID, which can be used for subsequent modifications, deletions, etc.

  • Interfaces Involving Lesson concept: These can continue to be called using the lesson ID, which will operate on the corresponding classroom activity. Related interfaces include: modifying lesson information, deleting lesson, modifying on-stage attendees, adding/removing lesson tags, setting recording, live streaming, and playback for lesson, modifying lesson video lock status, and obtaining the live playback address for lesson.

  • Adding/Removing Students from Lesson Interface: This can still be called, functioning as before, for adding and removing transfer students in classroom activities.

Additionally, there will be system maintenance from 11 PM on May 26 to 6 AM on May 27.

During this time, the ClassIn app, backend, and API will be unavailable. Please arrange platform interface calls and lesson segment usage times accordingly. Thank you for your support.

We strive to keep the API call logic unchanged. If you encounter any issues while using it, please feel free to contact ClassIn technical support.

Regarding New Partner Institutions

We recommend using LMS-related interfaces, replacing the original lesson related interfaces. For example, create a unit—create a class activity, instead of the previous create lesson API.

5.4.11 2025-03-07

Data Subscribtion:

5.4.10 2025-02-21

Data Subscribtion:

5.4.9 2025-02-20

5.4.8 2025-02-18

5.4.7 2024-12-19

5.4.6 2024-12

New interfaces added

5.4.5 2024-11

5.4.3 2024-10

[Test result message] (../datasub/coursedata.md)
Add score details for new questions. Please refer to the documentation for detailed fields.

5.4.3 2024-09

[ClassIn download button link] (../iframe.md) Update the JS script address. The original JS address in the code is no longer available. We need you to update it by replacing the original address with a new one.

5.4.2 2024-10

New changes to the Cloud Drive related APIs:

ClassIn has upgraded its cloud drive service, transitioning from School Courseware to Organizational Cloud Storage. The adaptations are as follows:

  • The original "Courseware" files will be migrated to the "School Resources" folder within the organization's cloud storage. The original folder and file IDs will remain unchanged. Files uploaded via the API will be directed to the relevant directory in the "School Resources" folder wihtin the organizational cloud storage.

  • The ID obtained from the interface Get Top-Level Folder ID before the migration will no longer represent the top-level ID of the organizational cloud storage. Instead, it will be the ID of the "School Resources" folder within the organizational cloud storage. You can retrieve it again to obtain the top-level ID of the organizational cloud storage.

  • If you have not yet initialized the organizational cloud storage, the first call to the Get Top-Level Folder ID interface will automatically initialize the storage for your institution.

5.4.1 2024-09

Added new interfaces and parameters to adjust playback and LMS activity access permissions for new students and those leaving the class.

5.4 2024-9

Added new APIs to operate ClassIn LMS activities. This includes general APIs for managing units and activities, as well as APIs specific to classroom activities.

Key changes:

  • The LMS-related APIs will use a new API calling method, including modified URL formats and signature rules. Refer to this document for detailed information.
  • The general LMS APIs support to create/delete activities and add/remove activity members.
  • The classroom-related APIs support to create, edit, and delete classrooms.
  • The new classroom-related APIs will replace the existing lesson-related APIs. The concept of Lessons will gradually be phased out in favor of Classrooms. If you are integrating with ClassIn virtual classrooms, it is recommended to use the Classroom APIs directly, rather than the Lesson-related APIs.
  • APIs for managing users, courses, school cloud resources, and web-based live streaming and playback functionality remain unchanged.
  • To fully integrate with the new ClassIn LMS functionality, please use a combination of the original APIs, such as User Registration, Create Course, and Add Students to Course, along with the new APIs for creating units and classrooms. The older Create Lesson API is no longer recommended for use.

5.3.3 2024-8-30

Deprecated Interface:

  • Modifying Cloud Drive Resources Authorized to Teacher: The interface updateTeacherCloudFolders will be deprecated after 2024-08-30.

5.3.2 2024-07-31

When add a course or edit a course, the expiry date can be set within 5 years of the current time,instead of 1 year.

5.3.1 2024-06-30

Due to changes in business logic, the data subscription - Details of Watching Lesson Replay in the ClassIn Client (cmd: ClientPlaybackDataDetail) underwent the following modifications:

  1. Removal of the following fields:
    • TopProcess
    • TotalLookCount
    • TotalLookTime
  1. Addition of the following fields:
    • TotalDuration (indicates the total duration of the video)
    • ValidWatchCount (indicates the number of valid views)
    • LatestDetails( indicates the viewing status) ->TriggerType 1, 3, 4 represent 'Start Watching', 'End Watching', and 'Timeout Automatic Push', respectively.

Note: Currently, the LatestDetails->TriggerType only supports 'End Watching'. Support for 'Start Watching' will be available in the new client version in September.

5.3.0 2024-7-26

New LMS activity data has been added to the ClassIn data subscription service, including two items:

  • Assignment: After grading an assignment, notify the grader, students, and provide the total score.
  • Test: After grading a test, notify the grader, students, and provide the total score.

5.2.1 2024-04-24

Added the feature to launch the ClassIn client and directly navigate to the LMS activity page of a course using a provided link. For more details, refer to the Best Practices for Launching ClassIn Client.

3.44 2024-01-10

In the data subscription of Exit the Classroom, added new explanation on the Reasons for Classroom Exits:

Newly added reasons include:

● 54 - Duplicate login from the same client

● 56 - Network connection interrupted

● 60 - Logged out due to a new login from another client

● 101 - User exited the app by pressing the home button on their Android device

● 102 - User exited the app due to an incoming phone call

● 111 - App went into the background.

3.43 2023-12-07

Added a new field of TotalLookVaildTime in the data of Details of Viewing Classroom Playback in the ClassIn Client. TotalLookVaildTime is the effective time of a user watching a playback on the ClassIn client.

3.42 2023-08-10

Added new error codes in Create Class(Single)Create Class(Multiple)Edit Class

  • 121601001 There are settings that are not supported by the current version.
  • 121601002 Operation successful! The usage limit for [online classroom] resources has been surpassed. To avoid any negative consequences, please reach out to your account manager immediately.
  • 121601003 You have exceeded the monthly limit for creating lessons. To continue creating lessons, please upgrade your account to access additional benefits.
  • 121601004 You have reached the monthly limit for creating lessons and cannot continue creating more.
  • 121601005 Not supported for configuring web-based live streaming.
  • 121601006 Not supported for setting up cloud recording for On-the-spot Scene.
  • 121601007 Error with the number of people on stage parameter.
  • 121601008 Not supported for setting up co-teachers.
  • 121601009 Not supported for web-based classroom playback.
  • 121601010 Not supported for setting cloud recording.
  • 121601011 Not supported for setting dual camera mode.
  • 121601012 Resolution exceeds limit.

3.41 2023-07-07

A. Added ClientID in the real-time pushed data, entering and exiting the classroom, to distinguish main and secondary devices when the instructor uses two devices to enter the classroom.
B. In the summary data(cmd=end) pushed after class, added new field, Deputies, representing the secondary device the instructor uses to enter the classroom. (After the instructor uses two devices to enter the classroom, this field will appear. The original field of Details only contains entry and exit records of the main device by default. Currently, only dual device login is available, so only data from one secondary device will be reflected.
C. When calling the register-user interface, regardless of whether the mobile phone number/email address has been registered before, after passing the addToSchoolMember, the user will be added to the school.
D. Added new error code, 845, indicating that the school has exceeded the maximum number of enabled teachers. The admin shall check and increase the teacher quota purchased.

3.40 2023-06-12

A. Added new error code 31000 to upload files to the ClassIn Drive: Storage is full. Please delete some files or expand the capacity.

3.39 2023-03-21

A. Added the solutions to invoke the ClassIn client from your system in the Solution section.
B. Added sections of Solutions and Error Handling

3.38 2023-01-10

Added the parameter for course subjects, subjectId. This parameter is only valid for courses created in the School Dashboard for primary and secondary schools. Not passing any value or passing values that do not comply with the rule is determined as null. Involved APIs are listed as follows:

Activities in ClassIn LMS can only be edited in the LMS. Added new error code:466 = The lesson was created in the ClassIn LMS and cannot be edited via API. Please edit the lesson in the ClassIn LMS. Involved APIs are listed as follows:

Notes: ClassIn LMS is expected to be released on 2023-02-07.

3.37 2022-12-06

Added using email as the ClassIn accounts and involved interfaces are listed as follows:

Register UsersRegister Users(Multiple)Add StudentAdd Teacher

  • Added new error code:461=The email has already been registered
  • Added new parameter:email

Get link to invoke ClassIn app:

  • Do not support email login yet. Please bind a mobile phone number to use the log-in link. Otherwise, error code 467 will be returned.
  • Added new error code:467= The operation only supports accounts of mobile phone numbers. Please bind your mobile number first.

Added new message subscriptions:

3.36 2022-11-20

Add School Label

  • When the error code,353, is returned, it indicates that the school tag already exists, and the corresponding tag ID will be returned.

3.35 2022-10-11

Create courseCreate Class(Single)Create Class(Multiple):

  • Added new error code: 460 = The course or lesson is being created by another request(This error code may occur during concurrent creation. It is recommended to adjust the request frequency and check whether the course and lesson created already exists.).

3.34 2022-09-20

New API Add/Edit/Detele Course Label

The API call requires SID, safeKey, timeStamp, courseId and courseList. Pass an empty label array(labelIds) to delete all the course labels. When the course has no labels, pass label ID in the field of label array(labelIds) to add a label to the course. When the course label exists, pass label ID in the parameter of label array(labelIds) to modify the course label. The API call returns error info after execution. Note: A maximum of 10 labels can be added to each course.

3.33 2022-06-08

Support to record on-the-spot scene, and the APIs involved are modified as follows:

Create Class(Single)Create Class(Multiple)Edit Class InformationClass Setting of Cloud Recording, Website Live Broadcast and Webpage Replay(Multiple)

  • Added new parameter: recordScene, an optional parameter. Pass 1 to activate the recording of the on-the-spot scene. The prerequisite is the record function is on.

3.32 2022-04-11

Support to set multiple Co-teachers(joint teacher). Relevant modifications in API are as follows.

Create Class(single)Create Class(Multiple) and Edit Class Information:

  • Added new parameter of assistantUids in the format of [10000821000083]. Either pass assistantUids or assistantUid. Only one can be passed;
  • Error code newly added : 21316 = duplicate data of Co-teacher, 21317 = the number of Co-teachers exceeds the limit;
  • Delete the error code 330.

3.31 2022-03-28

New message subscriptions:

Class Related Data supports a new subscription: IM Classroom Chat

3.30 2022-01-18

Added new error codes to the following interfaces: Create Class(single), Create Class(Multiple), and Edit Class Message

Added new judgement on whether the start or end time of the lesson overlaps with the regular system maintenance period. If it overlaps, the creation and editing will fail, and the 454 error code will be returned. The definition of relevant error code is: 454 = the start and end time of the lesson overlaps with the system maintenance time.

New message subscriptions:

3.29

All "teaching assistant" fields in the interface will be changed to "Co-teacher".The assistantUid field of the interface is not changed. Only the interpretation and error information in error_info are updated;

The following interfaces are involved:

3.28

New API support pre-grouping on course:

3.27 Nov. 2021

Data subscription :
Added new types of subscription in page School related Data : Replace Phone number

It is about to release on November 2021

3.26 2021-09-03

Added new error code about account in the following API interfaces: Add studentadd teachercrete courseedit coursecreate class(single)create class(multiple)edit classadd student to the course(single)add student to course(multiple)add student to class(multiple)edit course teacheradd student to multiple classesget login link

The defination of error code:
883=the account of headteacher is cancelled
884=the account of teacher is cancelled
885=the account of assistant is cancelled
886=the account of student is cancelled
887=the account of audit is cancelled
888=the account of user is cancelled

3.25 2021-08-18

Data subscription :
Added new types of subscription in page School related Data : Account cancellation

3.24 July 31st 2021

The following two message subscription types will be offline soon
im text msg in classroom
im picture msg in classroom

3.23 2021-07-22

Data subscription :
Added new types of subscription in page Class Detail Data

Live Reserve
Watching Data of Live page
Like on the Live page
Detail of clicks on goods

Added new types of subscription in page Class Summary Data

Watching data of replay page

3.22 May 8th 2021

Update logic of parameter "allowAddFriend" for API Create course
A error msg is returned if it's empty.

3.21 April 23rd 2021

1) Added new parameter to the 2 APIs: allowStudentModifyNickname (to allow students to edit his group nick name) For these 2 APIs

2) Update logic of parameter "folderid" for API Edit course

  • For the classes that is not started yet, if the recource of class is the same to the course's recourse before update, then update the class recourse
  • For the classes that is not started yet, If the recource of classes is not the same to the course's recourse before update, then ignore the setting for this class

3) One more data item return in the responds of the 4 APIs:
WEBRTC(this new live stream protocol is supported,the delay of which is within one second )

3.20 Overhead information - Mar 30, 2021

Since June 1, 2021, the interface Get the login client url has been adjusted. The interface return URL and it will no longer include temporary secret key authTicket(ClassIn will make partial adjustment accordingly and it will finish the adjustment by June 30).
In other words, it will no longer support temporary secret key authTicket to get the login client.

This adjustment does not have any effect to your API integration. It will only affect your user's experience on website login client. Therefore, your customer service or operation group needs to communicate with your users about this change: Since June 1, 2021, after users get the login client, the application will remain on the login step wait until the user finish inputting a password then click the 'login' to enter the classroom. Please be aware:

  1. For mobile end, ClassIn will automatically store the password. For PC, ClassIn Strongly recommend users to click 'Remember Password' after inputting their password for conveniently get the login client without inputting their password again in the future.
  2. If Users forget their password, they can click the 'Forget Password' on the Login page to retrieve their password.

3.19 March 10th 2021

1) Update these 3 APIs to support value "0" for parameter seatNum,which means a 1V0 class can be created by API.

2) Update these 2 APIs, the logic of paramter "mainTeacherUid" is modify as to considered NULL or empty value, if NULL or empty, then the mainTeacher will not be set or will not be change.

3.18 March 2nd 2021

New API Update Authorized Resource for teacher

Support to update the authorized resource for teacher

3.17 January 20th 2021

A New parameter is added to the 3 APIs: teachMode (to enable OMO classroom) For these four APIs

3.16 January 12th 2021

A New parameter is added to the four APIs: isDc (to enable Dual Camera) For these four APIs

3.15 Please read the notice carefully. From 08.06.2020.

1) In order to support the replacement of mobile phone number of classin account, the following interface will only support the parameter of uid and and no longer support the parameter of mobile phone number. By the above deadline, you need to complete the following items.

* Modify your API code to change parameter with the phone number to the UID (related to the interface involved, add 400 error codes indicating that the requested data is not legitimate (i.e. the UID does not exist or the UID does not belong to the student or teacher of the institution)).
* In your database, the correspondence between the mobile number and the UID needs to be saved. You can call the interface register to get the UID information of the registered user, regardless of whether the mobile phone number is registered or not, the interface will return data=xxxx, the number after the data xxxx is the user UID. you need to save this UID to complete the initialization of the relevant table values.

The interfaces involved include almost every api with phonenumber , except register/addschoolstudent/addteacher.listed as below : changing user passwords, deactivating teachers, enabling teachers, updating lesson teacher-student evaluations, creating lessons, editing lessons, creating lessons (single), creating lessons (multiple), modifying lesson information, adding students/audience (single) under lessons, deleting students/audience (single) under lessons, adding students/audience (multiple) under lessons, deleting students/audience (multiple) under lessons, adding students (multiple) under lessons, deleting students (multiple) under lessons, changing lesson teachers, removing lesson teachers, adding students under multiple lessons, getting wake-up clients and entering classroom links

** Please note: The interface Add Student(addSchoolStudent) and Add Teacher(addTeacher), only supports passing the mobile number, not the UID.

2) Interface domain name and protocol header.

  • Use https://api.eeo.cn for all interface URL domains, and if you continue to use https://www.eeo.cn, you will receive a 404 status code.
  • Use https for all interface URL protocol headers and receive a 403 status code if you continue to use http.

In addition, in order to facilitate the notification of new interfaces and important changes at a later stage, it is strongly recommended that you fill in your usual email address in the authentication profile (entrance: login to the eeo.cn institutional administration backend and click on the authentication profile page on the left to fill in).

3) The interfaces related to adding students under the course/session (the following four interfaces) will no longer support the automatic addition of students as institutional students, and the new error code 228 means "No such student under institutional". The standard operation for scheduling a student or teacher is: Register --> Add institutional student/teacher --> Schedule class. The interfaces involved include.

* Add Student/Auditor (Single) under Course: The request parameter studentName field is changed from mandatory to non-mandatory. Use the request parameter STUDENTName only when IDENTITY is 2. Use the cell phone number as the name of the spectator when IDENTITY is 2, if this participant is not passed. When IDENTITY is 1 (student status), the passed parameter STUDENTName is also not used.
* Add student/observer (multiple) under course: The name field in the request parameter studentJson is changed from mandatory to non-mandatory. Use the request parameter name only when identity is 2. When identity is 2, use the cell phone number as the name of the spectator if no such participant is passed. When identity is 1 (student identity), the name in the passed argument studentJson will not be used either.
* Add student (multiple) under session: removed the name entry in studentJson from the original request parameter (passed without error, but will not be used either).
* Added students to multiple sections of the course: removed the studentName item from the original request parameter (passed without reporting errors, but will not be used either).

3.14 30th November 2020

2 New Parameters added to the four APIs:
watchByLogin (Only those login account can view the live&replay page)
and allowUnloggedChat (if allow anonymous to chat or like)

3.13 September 15th 2020

Data subscription :image data of the blackboard, a new type of subscription added in page Class Detail Data

3.12 September 3rd 2020

API editCourseClass Support to add/change/delete assistant before the class is ended.

3.11 August 13th 2020

API Addcourse Support to use the default cover set by the school as the cover of the class group if "Filedata" is empty.

3.10 August 4th 2020

Data subscription :LiveDetail message, a new type of subscription added in page Class Detail Data

3.9 June 01, 2020

  • Modify the interface.

    • Interface Add Student/Auditor (Single) under Course, Student/Auditor (Multiple) under Course Support to synchronize user names to class nicknames, please refer to interface description for details.
    • Interface Add Student (Multiple) under Course and Add Student (Multiple) under Session No longer supports surrogate registration (surrogate registration means that the student's mobile phone number is passed to the participant, if not the ClassIn account, automatic registration is supported). (a).
  • Added the pending deprecation interface and subscription message items (removed from this document, see Deprecation for details).

    • Interface:delcourse, Deletion of courses.
    • Interface Modify user information, as well as subscribing to offline messages Items in the organization's dimensional push messages User modify nicknames.

3.8 May 08, 2020

  • New interface.
     This interface modifies the class nicknames of the group members by using the names of all the students and observer students in the course, and the students in the institution, to modify the class nicknames of the students and observer students in the group. After the modification, students' names displayed in the client's IM class group, and in the classroom under that course, are student names, not user nicknames. This interface solves the problem of teachers often failing to get a number when they are in a group or classroom after students change their user nicknames in the ClassIn client.
    
  • Modify the interface.
      Interface Create a course, edit a course, add a course setup itemallowAddFriend to set whether to allow class members to add friends to each other.
    

3.7 April 10, 2020

  • Modify the interface.

      Interface Create session (single), create session (multiple), modify session information Remove invalid parameter teacherName
    
  • Data Subscribtion.

      Class summary data in messages pushed after the class has ended The new subdivision "equipmentsEnd", which now contains the subdivision "Camera", records the total time the camera was turned on (only on-stage time is included).
    

More info please contact ClassIn tech-support

results matching ""

    No results matching ""