Overview

Using the VCaaS Open API can help third-party quickly integrate VCaaS virtual classrooms. It includes two parts: VCaaS Meeting API and VCaaS File API.

  • VCaaS Open API quality environment address: https://uat.vcaas.hilinkdemo.com/api
  • VCaaS Open API production environment address: https://vcaas.hilink.co/api

VCaaS Meeting API

1. Create Meeting

API Description

This API is used to create a new meeting. After a successful request, the response will return the meeting ID meetingId and meeting URL meetingUrl. The meeting ID meetingId will be used as a parameter to generate the JoinToken, and the meeting URL meetingUrl will be used to construct the meeting JoinUrl.

Request Method and Endpoint

  • Request Method: POST
  • Endpoint: /v2/meeting-center/meetings

HTTP Request

Path Parameters

/

Request Headers

  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

Request Body

This API requires the following parameters to be passed in the request body:

ParameterTypeRequiredNote
meetingExternalIdString(64)trueExternal Meeting ID
meetingTitleString(100)trueMeeting Title
startTimeLongfalseMeeting Start Time,UTC Timestamp,Unit:Second, Default: current time
endTimeLongtrueMeeting End Time,UTC Timestamp,Unit:Second
timerStartTimeLongfalseTimer Start Time,UTC Timestamp,Unit:Second, Default: startTime
timerEndTimeLongfalseTimer End Time,UTC Timestamp,Unit:Second, Default: endTime
timerCountdownIntegerfalseCountdown to Timer End Time,Unit:Minutes, Default: 5
callbackUrlStringfalseURL to send data after meeting ends
redirectUrlStringfalseURL to redirect to after meeting ends
invitationUrlStringfalseURL of in classroom invitation link
meetingRegionStringfalseLocation of meeting host server.
configObjectfalseMeeting configuration
realTimeCallbackUrlObjectfalseCallback URLs for realtime event data push
docIdsListfalseIDs of documents associated with the meeting
lessonPlanIdsListfalseIDs of lesson plans associated with the meeting (Note: Accepts both lessonPlanId and aiLessonPlanId)
quizIdsListfalseQuiz ID collection
knowledgeBaseUrlString(500)falseURL to redirect to the knowledge base

config Parameter Details:

ParameterTypeDefault ValueNote
enableChatBooleantrueToggle on/off chat functionality
enableRecordingBooleantrueToggle on/off recording functionality
enableFilesBooleantrueToggle on/off uploaded files functionality
enableQuizBooleantrueToggle on/off quiz functionality
enablePollBooleantrueToggle on/off poll functionality
enableScreenShareBooleantrueToggle on/off screen share functionality
enableRewardBooleantrueToggle on/off student reward functionality
enableYoutubePlayerBooleantrueToggle on/off YouTube player functionality
enableWaitingRoomBooleantrueToggle on/off waiting room before class
enableAutoRecordingBooleanfalseToggle on/off auto start recording when class begins functionality
enableWebLinksBooleantrueToggle on/off WebLinks functionality (HTML 5)
enableCountdownBooleantrueToggle on/off countdown timer functionality
enableNameRandomizerBooleantrueToggle on/off name randomizer functionality (name selection wheel)
enableDiceBooleantrueToggle on/off dice
enableCalculatorBooleantrueToggle on/off graphing calculator functionality
enableAfterClassEvalBooleanfalseToggle on/off after class evaluation functionality (classroom experience evaluation)
enableClassroomInvitationBooleanfalseToggle on/off in classroom invitation link functionality
enableRecordingButtonBooleantrueToggle on/off the recording button
enableRecordingPermissionBooleantrueToggle on/off the recording permission pop-up
enableEndButtonBooleantrueToggle on/off the end/exit class button
enableBreakoutGroupBooleantrueToggle on/off the Breakout Group functionality
enableReactionBooleantrueToggle on/off the Reaction functionality
recordingFileTypesList["mp4"]Specify recording file types. Options: ["mp4"]、["mp3", "mp4"].
enableLessonPlanBooleanfalseToggle on/off the Lesson Plan functionality
enableNearpodBooleantrueToggle on/off the Nearpod functionality
enableBrowserRecBannerBooleanfalseToggle on/off to prompt non-Chrome users to use the Chrome browser
enableBrowserUpdatePromptBooleanfalseToggle on/off to control the display of the browser update prompt feature
enableStudentSendChatFileBooleantrueToggle on/off to enable students sending files in chat
enableTeacherOnboardingBooleanfalseToggle on/off to enable the onboarding animation feature for first-time teachers
defaultViewString"sidebar"Specify default views. Options: "sidebar", "gallery", "whiteboard"

meetingRegion Available Locations:

  • The default meeting region is: Asia Pacific (Tokyo) ap-northeast-1. We recommend to select the nearest meeting region based on the attendees’ locations.
LocationValue
Asia Pacific (Mumbai)ap-south-1
Asia Pacific (Seoul)ap-northeast-2
Asia Pacific (Singapore)ap-southeast-1
Asia Pacific (Sydney)ap-southeast-2
Asia Pacific (Tokyo)ap-northeast-1
Canada (Central)ca-central-1
Europe (Frankfurt)eu-central-1
Europe (Ireland)eu-west-1
Europe (London)eu-west-2
Europe (Paris)eu-west-3
Europe (Stockholm)eu-north-1
South America (São Paulo)sa-east-1
US East (Ohio)us-east-2
US East (N. Virginia)us-east-1
US West (N. California)us-west-1
US West (Oregon)us-west-2

Request Example

  • Request URL: https://vcaas.hilink.co/api/v2/meeting-center/meetings
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request body:
{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "startTime": 1673062042,
  "endTime": 1673753242,
  "countdownStartTime": 5,
  "callbackUrl": "<https://www.hilink.co/>",
  "redirectUrl": "<https://www.hilink.co/>",
  "meetingRegion": "us-east-2",
  "invitationUrl" : "<https://www.hilink.co/>",
  "config": {
    "enableChat": true,
    "enableRecording": true,
    "enableFilePlayer": true,
    "enableQuiz": true,
    "enablePoll": true,
    "enableClassroomInvitation" : true,
    "recordingFileTypes": ["mp4", "mp3"],
    "enableBrowserRecBanner" : true,
    "enableBrowserUpdatePrompt" : true
  },
  "docIds": [
  ],
  "lessonPlanIds": [
  ],
  "quizIds": [
  ]
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
meetingExternalIdStringmeeting ID
meetingTitleStringmeeting title
meetingIdStringmeeting ID, JoinToken’s param
meetingUrlStringmeeting Url
startTimeLongMeeting Start Time,UTC Timestamp,Unit:Second
endTimeLongMeeting End Time,UTC Timestamp,Unit:Second
timerStartTimeIntegerTimer Start Time,UTC Timestamp,Unit:Second
timerEndTimeIntegerTimer End Time,UTC Timestamp,Unit:Second
meetingStatusStringMeeting Status

Response Example

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "meetingId": "109391932341489664",
  "meetingUrl": "<https://dev.vcaas.hilinkdemo.com/meeting>",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673062042,
  "timerEndTime": 1673755042,
  "meetingStatus": "CREATED"
}

2. Update Meeting

API Description

This API is used to update a created but not yet started meeting. After a successful request, the response will return the meeting ID meetingId and meeting URL meetingUrl. The meeting ID meetingId will be used as a parameter to generate the JoinToken, and the meeting URL meetingUrl will be used to construct the meeting JoinUrl.

Note: Meetings that have passed their start time cannot be updated or modified.

Request Method and Endpoint

  • Request Method: PATCH
  • Endpoint: /v2/meeting-center/meetings/{id}

HTTP Request

Path Parameters

This API requires the following parameters to be passed in the URL:

ParametersTypeRequiredNote
idLongtrueMeeting ID
Request Headers
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the request body:

ParameterTypeRequiredNote
meetingTitleString(100)falseMeeting Title
startTimeLongfalseMeeting Start Time,UTC Timestamp,Unit:Second
endTimeLongfalseMeeting End Time,UTC Timestamp,Unit:Second
timerStartTimeLongfalseTimer Start Time,UTC Timestamp,Unit:Second
timerEndTimeLongfalseTimer End Time,UTC Timestamp,Unit:Second
timerCountdownIntegerfalseCountdown to Timer End Time,Unit:Minutes
callbackUrlStringfalseURL to send data after meeting ends
redirectUrlStringfalseURL to redirect to after meeting ends
invitationUrlStringfalseURL of the in-class invitation link
meetingRegionStringfalseLocation of meeting host server
configObjectfalseMeeting configurations
realTimeCallbackUrlObjectfalseCallback URLs for realtime event data push
docIdsListfalseIDs of documents associated with the meeting
lessonPlanIdsListfalseIDs of lesson plans associated with the meeting (Note: Accepts both lessonPlanId and aiLessonPlanId)
quizIdsListfalseQuiz ID collection
knowledgeBaseUrlString(500)falseURL to redirect to the knowledge base

config Parameter Details:

ParameterTypeNote
enableChatBooleanToggle on/off chat functionality
enableRecordingBooleanToggle on/off recording functionality
enableFilesBooleanToggle on/off uploaded files functionality
enableQuizBooleanToggle on/off quiz functionality
enablePollBooleanToggle on/off poll functionality
enableScreenShareBooleanToggle on/off screen share functionality
enableRewardBooleanToggle on/off student reward functionality
enableYoutubePlayerBooleanToggle on/off YouTube player functionality
enableWaitingRoomBooleanToggle on/off waiting room before class
enableAutoRecordingBooleanToggle on/off auto start recording when class begins functionality
enableWebLinksBooleanToggle on/off WebLinks functionality (HTML 5)
enableCountdownBooleanToggle on/off countdown timer functionality
enableNameRandomizerBooleanToggle on/off name randomizer functionality (name selection wheel)
enableCalculatorBooleanToggle on/off graphing calculator functionality
enableAfterClassEvalBooleanToggle on/off after class evaluation functionality (classroom experience evaluation)
enableClassroomInvitationBooleanToggle on/off in classroom invitation link functionality
enableRecordingButtonBooleanToggle on/off the recording button
enableRecordingPermissionBooleanToggle on/off the recording permission pop-up
enableEndButtonBooleanToggle on/off the end/exit class button
enableBreakoutGroupBooleanToggle on/off the Breakout Group functionality
enableReactionBooleanToggle on/off the Reaction functionality
recordingFileTypesListSpecify recording file types. Options: ["mp4"]、["mp3", "mp4"].
enableLessonPlanBooleanToggle on/off the Lesson Plan functionality
enableNearpodBooleanToggle on/off the Nearpod functionality
enableBrowserRecBannerBooleanToggle on/off to prompt non-Chrome users to use the Chrome browser
enableBrowserUpdatePromptBooleanToggle on/off to control the display of the browser update prompt feature
enableStudentSendChatFileBooleanToggle on/off to enable students sending files in chat
enableTeacherOnboardingBooleanToggle on/off to enable the onboarding animation feature for first-time teachers
defaultViewStringSpecify default views. Options: "sidebar", "gallery", "whiteboard"

meetingRegion Available Locations:

LocationValue
Asia Pacific (Mumbai)ap-south-1
Asia Pacific (Seoul)ap-northeast-2
Asia Pacific (Singapore)ap-southeast-1
Asia Pacific (Sydney)ap-southeast-2
Asia Pacific (Tokyo)ap-northeast-1
Canada (Central)ca-central-1
Europe (Frankfurt)eu-central-1
Europe (Ireland)eu-west-1
Europe (London)eu-west-2
Europe (Paris)eu-west-3
Europe (Stockholm)eu-north-1
South America (São Paulo)sa-east-1
US East (Ohio)us-east-2
US East (N. Virginia)us-east-1
US West (N. California)us-west-1
US West (Oregon)us-west-2

Request Example

  • Request URL: https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request body:
{
  "meetingTitle": "Tech meeting Title Update"
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
meetingExternalIdStringmeeting ID
meetingTitleStringmeeting title
meetingIdStringmeeting ID, JoinToken’s param
meetingUrlStringmeeting Url
startTimeLongMeeting Start Time,UTC Timestamp,Unit:Second
endTimeLongMeeting End Time,UTC Timestamp,Unit:Second
timerStartTimeIntegerTimer Start Time,UTC Timestamp,Unit:Second
timerEndTimeIntegerTimer End Time,UTC Timestamp,Unit:Second
meetingStatusStringMeeting Status

Response Example

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "meetingId": "109391932341489664",
  "meetingUrl": "<https://dev.vcaas.hilinkdemo.com/meeting>",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673062042,
  "timerEndTime": 1673755042,
  "meetingStatus": "CREATED"
}


3. End Meeting

API Description

This API can be used to actively end a meeting that is in progress.

Request Method and Access Point

  • Method:PUT
  • Path:/v1/meeting-center/meetings/{id}/end

HTTP Request

Path Parameters

This API requires the following parameters to be passed in the URL:

ParametersTypeRequiredNote
idLongtrueMeeting ID

Request Header

  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/end
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeDescription
codeStringVCaaS API response code
messageStringVCaaS API response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}


4. Query the meeting list

API Description

This API can be used to query all meetings under an organization in a paginated manner.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/meeting-center/meetings

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNotes
pageLongfalseCurrent page, default value: 0
sizeLongfalsePage size, default value: 10
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings?page=0&size=10
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it means the request was successful. The response body contains the following fields:

FieldsTypeNote
totalLongTotal record count
pageLongCurrent page
sizeLongPage size
dataListData collection

Response Example

{
  "total": 1,
  "page": 0,
  "size": 10,
  "data": [
    {
      "meetingExternalId": "500000",
      "meetingTitle": "Tech meeting",
      "meetingId": "109391932341489664",
      "meetingUrl": "<https://dev.vcaas.hilinkdemo.com/meeting>",
      "startTime": 1673062042,
      "endTime": 1673755042,
      "timerStartTime": 1673062042,
      "timerEndTime": 1673755042,
      "meetingStatus": "CREATED"
    }
  ]
}

5. Query Meeting

API Description

This API can be used to query a single meeting based on the meeting ID.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/meeting-center/meetings/{id}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
meetingExternalIdStringExternal Meeting ID
meetingTitleStringMeeting Name
meetingIdStringMeeting ID, which will be used as a parameter to generate JoinToken
meetingUrlStringMeeting URL, used to concatenate the meeting link
startTimeLongMeeting start time, UTC timestamp, unit: seconds
endTimeLongMeeting end time, UTC timestamp, unit: seconds
timerStartTimeIntegerTimer start time, UTC timestamp, unit: seconds
timerEndTimeIntegerTimer end time, UTC timestamp, unit: seconds
meetingStatusStringMeeting status

Response Example

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "meetingId": "109391932341489664",
  "meetingUrl": "<https://dev.vcaas.hilinkdemo.com/meeting>",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673062042,
  "timerEndTime": 1673755042,
  "meetingStatus": "CREATED"
}

6. Delete Meeting

API Description

This API can be used to delete a meeting. After deletion, the meeting will not be retrievable through the query interface.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v1/meeting-center/meetings/{id}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

7. Query Meeting Document List

API Description

This API can be used to query the collection of documents for a specified meeting.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v1/meeting-center/meetings/{id}/documents

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdStringDocument ID
nameStringDocument Name
typeStringDocument Type
fileKeyStringDocument Key
fileStatusStringDocument Status
fileSizeLongDocument Size
childrenListChildren files (only applicable to folders)

Response Example

[
  {
    "docId": "128930307276673024",
    "name": "exampleFolder",
    "type": "folder",
    "fileKey": "",
    "fileStatus": "uploaded",
    "fileSize": 460668,
    "children": [
      {
        "docId": "100313458125443072",
        "name": "test000.ppt",
        "type": "ppt",
        "fileKey": "91232529172008960/test000.ppt",
        "fileStatus": "uploaded",
        "fileSize": 460668,
        "children": []
      }
    ]
  }
]

8. Add Meeting Document

API Description

This API can be used to add one or more documents or folders to a specified meeting.

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v1/meeting-center/meetings/{id}/documents

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
docIdsListtrueDocument and folder ID collection

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
  "docIds": [
    "101102960439857152",
    "102944975171489792"
  ]
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

9. Delete Meeting Document

API Description

This API can be used to delete a specified document from a specified meeting.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v1/meeting-center/meetings/{id}/documents/{docId}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
docIdLongtrueDocument ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents/101102960439857152
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

10. Query Meeting Recording List

API Description

This API can be used to query the recording videos of a meeting.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/meeting-center/meetings/{id}/recordings

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271373502823706624/recordings
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
meetingIdStringMeeting ID
meetingTitleStringMeeting Title
recordingTitleStringVideo Title
videoUrlStringVideo URL
audioUrlStringAudio URL (if recordingFileTypes configured with mp3 format in create meeting API)
beginTimeLongBegin Time
endTimeLongEnd Time

Response Example

[
  {
    "meetingId": "271373502823706624",
    "meetingTitle": "test meeting",
    "recordingTitle": "test meeting 01",
    "videoUrl": "https://hilink-agora-record-dev.s3.amazonaws.com/71/f20295c78e46e69e7f1c74960821d3f1_VCaaS7161748_0.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230331T055224Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=ASIA5MC3STOBS4HWLDDJ%2F20230331%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f6c4cb6d46c6c9af0c4c76521d98078e6bbc7f587dce215139ef2e0d51dd6255",
    "audioUrl": "https://hilink-agora-record-dev.s3.amazonaws.com/71/f20295c78e46e69e7f1c74960821d3f1_VCaaS7161748_0_1711598011095.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230331T055224Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=ASIA5MC3STOBS4HWLDDJ%2F20230331%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f6c4cb6d46c6c9af0c4c76521d98078e6bbc7f587dce215139ef2e0d51dd6255",
    "beginTime": "1711594322",
    "endTime": "1711594380"
  }
]

11. Query Meeting Metadata

API Description

This API can be used to query the data generated during a meeting, including meeting duration data, attendee attendance data, meeting recording data, meeting interaction data, and attendee interaction data.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v1/meeting-center/meetings/{id}/data

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/data
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
meetingDataObjectMeeting Length Data
attendeeDatasObjectMeeting Attendance Data
meetingVideoDataObjectMeeting Video Data
meetingInteractiveDataObjectMeeting Interaction Data
attendeeInteractiveDatasObjectMeeting Attendee Interaction Data
evaluationDataObjectAfter-class evaluation data

Response Example

{
  "meetingData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "scheduledStartTime": "1671519598",
    "scheduledEndTime": "1692196976",
    "startTime": "1672132286",
    "endTime": "1672201926",
    "duration": "2024"
  },
  "attendeeDatas": [
    {
      "meetingUid": "103288082375249920",
      "meetingExternalId": "123",
      "attendeeUid": "105859080664518656",
      "externalId": "Q8NnQKOaWhax8cD195wB7Q==",
      "timeIn": "1672132517",
      "timeOut": "1672133011",
      "device": "",
      "details": [
        {
          "type": "AttendeeJoined",
          "timestamp": 1672132517822
        },
        {
          "type": "AttendeeLeft",
          "timestamp": 1672132700326
        },
        {
          "type": "AttendeeJoined",
          "timestamp": 1672132952680
        },
        {
          "type": "AttendeeLeft",
          "timestamp": 1672133011815
        }
      ]
    }
  ],
  "meetingVideoData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "videoUrls": [
      "https://hilink-agora-record-dev.s3.amazonaws.com/31/11e35f12a24b170324e9b38307ee9011_VCaaS31104936_0.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230113T105238Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIA5MC3STOBSQDRGF7M%2F20230113%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f08aa8d30c2e12ef4a909824413a13e489d409f673013414cd4b444cb48b03b6"
    ]
  },
  "meetingInteractiveData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "quizData": {
      "totalCount": 1,
      "detailDatas": [
        {
          "id": "f8d836e56fb030b893e0f3a05bc487a9",
          "content": {
            "options": [
              {
                "value": "A",
                "label": "ff"
              },
              {
                "value": "B",
                "label": "ffff"
              }
            ],
            "content": "jjjf"
          },
          "averageAccuracy": "",
          "correctAnswer": "A"
        }
      ]
    },
    "pollData": {
      "totalCount": 1,
      "detailDatas": [
        {
          "id": "65155160d48337ee47bcd634bd67bc66",
          "content": {
            "options": [
              {
                "value": "A",
                "label": "fff"
              },
              {
                "value": "B",
                "label": "ffffff"
              }
            ],
            "content": "nihaoy"
          }
        }
      ]
    }
  },
  "attendeeInteractiveDatas": [
    {
      "meetingUid": "103288082375249920",
      "meetingExternalId": "123",
      "attendeeUid": "106838452825362432",
      "externalId": "FWhhpuTn1rUif3UM70gq7Q==",
      "attendeeQuizData": {
        "count": 1,
        "answers": [
          {
            "id": "ef84a2b4634bd53dee901b59076a5d5d",
            "username": "106838452825362432",
            "questionType": "MULTIPLE_CHOICE",
            "selection": "A"
          }
        ]
      },
      "attendeePollData": {
        "count": 1,
        "answers": [
          {
            "id": "6f3d5e11338c834b667940f85e0da317",
            "username": "106838452825362432",
            "pollType": "MULTIPLE_CHOICE",
            "pollOption": {
              "value": "A",
              "label": "hoa"
            }
          }
        ]
      }
    }
  ],
  "evaluationData": [
    {
      "attendeeUid": "222883139968741376",
      "externalId": "3f4cf897028313443fcf93e48a5fda60",
      "attendeeType": "HOST",
      "score": 4,
      "feedback": [],
      "review": ""
    }
  ]
}

12.Add Quiz to Meeting

API Description

This API can be used to add one or more quizzes to a specified meeting.

Request Method and Endpoint

  • Request Method:POST
  • Endpoint: /v2/meeting-center/meetings/{id}/quizzes

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
quizIdsListtrueQuiz ID collection

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
  "quizIds": [
    "259031606768046080",
    "259031736292347904"
  ]
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

13.Delete Meeting Quiz

API Description

This API can be used to delete a specified quiz from a specified meeting.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v2/meeting-center/meetings/{id}/quizzes/{quizId}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
quizIdLongtrueQuiz ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes/260868005909630976
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

14.Query Meeting Quiz List

API Description

This API can be used to query the quizzes of a meeting.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/meeting-center/meetings/{id}/quizzes

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
quizIdStringQuiz ID
externalQuizIdStringUnique identifier assigned by the client's system for referencing quizzes in VCaaS
typeStringQuiz Type
durationStringDuration of the question, in seconds
questionStringQuestion content
optionsObjectThe question's available answer options
quizStatusStringQuiz status

Response Example

[
  {
    "quizId": "260868005909630976",
    "externalQuizId": "123456",
    "type": "MULTIPLE_CHOICE",
    "duration": "45",
    "question": "Which of the following are planets in the solar system?",
    "options": {
      "Moon": "false",
      "Mars": "true",
      "Earth": "true",
      "Sun": "false"
    },
    "quizStatus": "CREATED"
  }
]

15. Query Meeting Chat Data

Interface Description

This API can be used to query chat data for a specified meeting. Note: The current version of the interface is limited to querying chat data generated only in the main meeting, excluding chat data from discussion groups.

Request Method and Endpoint

  • Request Method: GET
  • Endpoint: /v2/meeting-center/meetings/{id}/chatMessage

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL: https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/chatMessage
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
meetingExternalIdStringMeeting External ID
meetingTitleStringMeeting Title
meetingIdStringMeeting ID
classChatListClass Message List

Structure of the classChat field:

FieldsTypeNote
senderStringSender of the message
timestampLongMessage sending timestamp (seconds)
messageStringMessage content
hasRecalledBooleanWhether the message has been recalled

Response Example

{
    "meetingExternalId": "1709691919",
    "meetingTitle": "chat msg test",
    "meetingId": "109391932341489664",
    "classChat": [
        {
            "sender": "Linda",
            "timestamp": 1711506181,
            "message": "Hi, morning",
            "hasRecalled": true
        },
        {
            "sender": "David",
            "timestamp": 1711506177,
            "message": "Good morning",
            "hasRecalled": false
        }
    ]
}

16.Add Meeting Lesson Plan

API Description

This API is used to add a lesson plan to a meeting.

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v2/meeting-center/meetings/{id}/lesson-plans

HTTP Request

Path Parameters

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the request body:

ParameterTypeRequiredNote
lessonPlanIdsListtrueArray of unique identifiers for lesson plans

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271625972762198016/lesson-plans
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field
  • Request Body Content:
{
  "lessonPlanIds": [
    "208765402413666304",
    "265273736456966144"
  ]
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS system response code
messageStringVCaaS system response message

Response Example

{
    "code": "SYS20000",
    "message": "success"
}

17.Query Meeting Lesson Plan List

API Description

This API is used to query the complete list of lesson plans for a meeting.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/meeting-center/meetings/{id}/lesson-plans

HTTP Request

Path Parameter

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271625972762198016/lesson-plans
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
lessonPlanIdStringUnique identifier for the lesson plan
lessonPlanExternalIdStringExternal identifier
topicStringTopic name
audienceStringTarget audience
durationStringCourse duration
learningObjectiveStringLearning objectives
languageStringLanguage
additionalInfoStringAdditional information
contentStringCourse content, supports Markdown format

Response Example

[
  {
        "lessonPlanId": "271541303442059264",
        "lessonPlanExternalId": "123456",
        "topic": "Math",
        "audience": "1st grade student",
        "duration": "1 hour",
        "learningObjective": "",
        "additionalInfo": "",
        "language": "English",
        "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
    },
    {
        "lessonPlanId": "271541234223460352",
        "lessonPlanExternalId": "123456",
        "topic": "Math",
        "audience": "1st grade student",
        "duration": "1 hour",
        "learningObjective": "",
        "additionalInfo": "",
        "language": "English",
        "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
    }
]

18.Delete Meeting Lesson Plan

API Description

This API is used to delete a lesson plan from a meeting.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v2/meeting-center/meetings/{id}/lesson-plans/{lessonPlanId}

HTTP Request

Path parameter

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
lessonPlanIdStringtrueLesson Plan ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://test.vcaas.hilinkdemo.com/api/v2/meeting-center/meetings/271625972762198016/lesson-plans/271541303442059264
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS system response code
messageStringVCaaS system response message

Response Example

{
    "code": "SYS20000",
    "message": "success"
}

19.Delete Meeting Recordings

API Description

This API can be used to delete recordings from a specified meeting.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v1/meeting-center/meetings/{id}/videos

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueMeeting ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/videos
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

VCaaS File API

1. Create document upload URL

API Description

This API can be used to obtain the upload address for a file

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v1/document-center/upload-urls

HTTP Request

Path Parameters

/

Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
keyString(200)trueDocument Key
durationIntegertrueUpload address link validity duration, unit: minutes
callbackStringtrueCallback URL for document upload completion
parentIdStringfalseDocument ID of folder in which the file will be uploaded to

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/document-center/upload-urls
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
  "key": "test.doc",
  "duration": 5,
  "callback": "",
  "parentId": "212186314408333312"
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdStringDocument ID
urlStringUpload URL

Response Example

{
  "docId": "96397990553587712",
  "url": "https://dev.file.vcaas.hilinkdemo.com/91232529172008960%2Ftest.doc?Expires=1672991509&Signature=OE-hM31AmLFnquWi8BVvtiim0aP~4c~e2EewkA6h5GT0sYw0ejYQUD9fYmz5ScI00tkL8mCaTnbnkHoWGaLZqSt24h-SYotmkbeFAaLVJTS8MdTZkPvkgThYd39AsJiE2KReLA35cdwjyx5mzyQCnuiCHue-uV6~mJ3MAJcFIA75j39s~u0qCDEjBM2Ez-MqtUKYu-xSSWvb3Hwu8Ztg8srV40zoM3hPtC2KjQ7lgCYUK1xTPJa97xS6U4i5FZsiGu~HvSotdZ-ETeTLu6ebbY~Gu6qFef1ajBUqc8jACkI~UBhoE4Az8drc5NzmsyYUTAt4I958DFrmc671TbNM-Q__&Key-Pair-Id=K21VT8DFTV93QE"
}

2. Get Document List

API Description

This API can be used to paginate through all documents under an organization.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v1/document-center/documents

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
keywordStringfalseSearch keyword(s)
statusStringfalseDocument Status:presign,uploaded
pageIntfalseCurrent page,default value:0
sizeIntfalsePage size,default value:10
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/document-center/documents
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdStringDocument ID
parentIdStringDocument ID of the parent folder (returns 0 if no parent)
nameStringDocument Name
typeStringDocument Type
fileKeyStringDocument Key
fileStatusStringDocument Status
fileSizeLongDocument Size,Unit:Byte

Response Example

{
  "total": 1,
  "page": 1,
  "size": 10,
  "data": [
    {
      "docId": "99221259577069568",
      "parentId": "0",
      "name": "example.doc",
      "type": "doc",
      "fileKey": "91232529172008960/example.doc",
      "fileStatus": "uploaded",
      "fileSize": 69632
    }
  ]
}

3. Query Specific Document or Folder

API Description

This API can be used to query a specified document or folder based on its Document ID. When a folder in queried all children documents and folders will also be returned.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/document-center/documents/{id}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueDocument ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/document-center/documents/217665352530874368
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdStringDocument ID
nameStringDocument Name
typeStringDocument Type
fileKeyStringDocument Key
fileStatusStringDocument Status
fileSizeLongDocument Size,Unit:Byte
childrenListChildren files (only for folders)

Response Example

{
  "docId":"217665352530874368",
  "parentId":"217665158003249152",
  "name":"Untitled folder 2",
  "type":"folder",
  "fileKey":"",
  "fileStatus":"uploaded",
  "fileSize":1119650,
  "children":
  [
    {
      "docId":"148508893595701248",
      "name":"Presentation1.ppt",
      "type":"ppt",
      "fileKey":"130840909813256192/aPresentation1.ppt",
      "fileStatus":"uploaded",
      "fileSize":41472
    },
    {
      "docId":"189671712768528384",
      "name":"staticimage.png",
      "type":"png",
      "fileKey":"130840909813256192/189671712768528384/static watermark.png",
      "fileStatus":"uploaded",
      "fileSize":1078178
    }
  ]
}

4. Create Folder

API Description

This API can be used to create a new folder in the document center

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v1/document-center/folder

HTTP Request

Path Parameters

/

Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the request body:

ParameterTypeRequiredNote
nameStringtrueFolder name
parentIdStringtrueID of parent folder the new folder will be created in (0 for no parent folder)

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/document-center/folder
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdStringFolder ID
nameStringFolder name
parentIdStringParent folder ID

Response Example

{
  "docId": "99221259577069568",
  "name": "exampleFolder",
  "parentId": "0"
}

5. Delete Document or Folder

API Description

This API can be used to delete a specified document or folder based on its Document ID. When a folder is deleted all children documents and folders are also deleted.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint:/v2/document-center/documents/{id}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueDocument ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/document-center/documents/99221259577069568
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
docIdsListList of docId of files deleted

Response Example

{
  "docIds":["99221259577069568"]
}

6. Move Document or Folder

API Description

This API can be used to move a document or folder to a new parent location

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v1/document-center/move-document

HTTP Request

Path Parameters

/

Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the request body:

ParameterTypeRequiredNote
docIdStringtrueID of document or folder that is wanted to be moved
parentIdStringtrueParent ID of desired destination (0 for no parent folder)

Request Example

  • Request URL:https://vcaas.hilink.co/api/v1/document-center/move-document
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

VCaaS Quiz API

1.Create Quiz

API Description

This API can be used to create and save pre-filled quizzes

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v2/feature-center/quizzes

HTTP Request

Path Parameters

/

Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
externalQuizIdString(128)falseUnique identifier assigned by the client's system for referencing quizzes in VCaaS
typeString(100)trueQuiz Type, options: MULTIPLE_CHOICE, TRUE_FALSE
durationString(30)falseDuration of the question, in seconds, options: 15, 30, 45, 60. Default: 45
questionString(65535)trueQuestion content
optionsObjecttrueOptions Rules Description:
MULTIPLE_CHOICE Rules:
- At least one "true" option is required
- A minimum of two options is required
- The values of options must be either "true" or "false"

TRUE_FALSE Rules:
- Options can only include "true" and "false"
- Only one correct answer is allowed
- It is mandatory to have one correct answer

Request Example - MULTIPLE CHOICE

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
  "externalQuizId": "123456",
  "type": "MULTIPLE_CHOICE",
  "duration": "45",
  "question": "Which of the following are planets in the solar system?",
  "options": {
    "Moon": "false",
    "Mars": "true",
    "Earth": "true",
    "Sun": "false"
  }
}

Request Example - TRUE/FALSE

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
  "externalQuizId": "123456",
  "type": "TRUE_FALSE",
  "duration": "45",
  "question": "The sun revolves around the Earth?",
  "options": {
    "true": "false",
    "false": "true"
  }
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
quizIdStringQuiz ID
externalQuizIdStringUnique identifier assigned by the client's system for referencing quizzes in VCaaS
typeStringQuiz Type
durationStringDuration of the question, in seconds
questionStringQuestion content
optionsObjectThe question's available answer options
quizStatusStringQuiz status

Response Example

{
  "quizId": "260868005909630976",
  "externalQuizId": "123456",
  "type": "MULTIPLE_CHOICE",
  "duration": "45",
  "question": "Which of the following are planets in the solar system?",
  "options": {
    "Moon": "false",
    "Mars": "true",
    "Earth": "true",
    "Sun": "false"
  },
  "quizStatus": "CREATED"
}

2.Delete Quiz

API Description

This API can be used to delete a quiz. After deletion, the quiz will not be retrievable through the query interface.

Request Method and Endpoint

  • Request Method:DELETE
  • Endpoint: /v2/feature-center/quizzes/{id}

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
idLongtrueQuiz ID
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Exmaple

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes/260868005909630976
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
codeStringVCaaS System response code
messageStringVCaaS System response message

Response Example

{
  "code": "SYS20000",
  "message": "success"
}

3.Query Quiz List

API Description

This API can be used to query the collection of quizzes for a specified meeting.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/feature-center/quizzes

HTTP Request

Path Parameters

This API requires passing the following parameters in the URL:

ParameterTypeRequiredNote
pageLongfalseCurrent page, default value: 0
sizeLongfalsePage size, default value: 10
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes?page=0&size=10
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
totalLongTotal quiz count
pageLongCurrent page
sizeLongPage size
dataListData collection

Response Example

{
  "total": 1,
  "page": 0,
  "size": 10,
  "data": [
    {
      "quizId": "260868005909630976",
      "externalQuizId": "123456",
      "type": "MULTIPLE_CHOICE",
      "duration": "45",
      "question": "Which of the following are planets in the solar system?",
      "options": {
        "Moon": "false",
        "Mars": "true",
        "Earth": "true",
        "Sun": "false"
      },
      "quizStatus": "CREATED"
    }
  ]
}

VCaaS Lesson Plan API

1. Upload Lesson Plan

API Description

This API can be used to upload a lesson plan to VCaaS.

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/v2/feature-center/lesson-plans

HTTP Request

Path Parameters

/

Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
lessonPlanExternalIdString(64)falseExternal ID
topicString(200)falseTopic of the lesson plan
audienceString(500)falseTarget audience
durationString(200)falseDuration of the lesson plan
learningObjectiveString(800)falseLearning objective
languageString(200)falseLanguage of the content
additionalInfoString(1500)falseAdditional information
contentStringtrueContent of the lesson plan

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
lessonPlanIdStringUnique identifier for the lesson plan
lessonPlanExternalIdStringExternal ID
topicStringTopic
audienceStringAudience
durationStringDuration
learningObjectiveStringLearning Objective
languageStringLanguage
additionalInfoStringAdditional information
contentStringLesson plan content(Markdown format)

Response Example

{
    "lessonPlanId": "271540816638554112",
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

2. Delete Lesson Plan

API Description

This API can be used to delete a lesson plan from VCaaS.

Request Method and Endpoint

  • Request Method: DELETE
  • Endpoint:/v2/feature-center/lesson-plans/{lessonPlanId}

HTTP Request

Path Parameters

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
lessonPlanIdLongtrueUnique identifier for the lesson plan
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans/271625972762198016
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

Response Example

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
codeStringVCaaS system response code
messageStringVCaaS system response message

Response Example

{
    "code": "SYS20000",
    "message": "success"
}

3. Paginate Query of Lesson Plan List

API Description

This API can be used to paginate through all lesson plans.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/feature-center/lesson-plans

HTTP Request

Path Parameters

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
pageIntfalseThe current page, default value: 0
sizeIntfalsePage size, default value: 10
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans?page=0&size=10
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
totalIntegerThe total number of results found
pageIntegerThe current page number, starting from 0
sizeIntegerThe number of results per page
dataArrayAn array containing the result objects

The objects in the data array contain the following fields:

FieldTypeNote
lessonPlanIdStringUnique identifier for the lesson plan
lessonPlanExternalIdStringExternal ID
topicStringTopic
audienceStringAudience
durationStringDuration
learningObjectiveStringLearning Objective
languageStringLanguage
additionalInfoStringAdditional information
contentStringLesson plan content(Markdown format)

Response Example

{
    "total": 90,
    "page": 0,
    "size": 10,
    "data": [
        {
            "lessonPlanId": "271541303442059264",
            "lessonPlanExternalId": "123456",
            "topic": "Math",
            "audience": "1st grade student",
            "duration": "1 hour",
            "learningObjective": "",
            "additionalInfo": "",
            "language": "English",
            "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
        },
        {
            "lessonPlanId": "271541234223460352",
            "lessonPlanExternalId": "123456",
            "topic": "Math",
            "audience": "1st grade student",
            "duration": "1 hour",
            "learningObjective": "",
            "additionalInfo": "",
            "language": "English",
            "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
        }
    ]
}

4. Query Lesson Plan

API Description

This API can be used to query a lesson plan by LessonPlanId.

Request Method and Endpoint

  • Request Method:GET
  • Endpoint:/v2/feature-center/lesson-plans/{lessonPlanId}

HTTP Request

Path Parameters

This API requires the following parameter to be passed in the URL:

ParameterTypeRequiredNote
lessonPlanIdLongtrueUnique ID of the lesson plan
Request Header
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
Request Body

/

Request Example

  • Request URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans/271541303442059264
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field

Http Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldTypeNote
lessonPlanIdStringUnique identifier for the lesson plan
lessonPlanExternalIdStringExternal ID
topicStringTopic
audienceStringAudience
durationStringDuration
learningObjectiveStringLearning Objective
languageStringLanguage
additionalInfoStringAdditional information
contentStringLesson plan content(Markdown format)

Response Example

{
  
    "lessonPlanId": "271541303442059264",
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
  
}

Ai Service (beta)

Overview

AI Service The access endpoints are as follows:

  • AI Service API production environment address:https://ai.vcaas.hilink.co/api

1. Generate lesson plan

API Description

This API can be used to generate AI lesson plans

Request Method and Endpoint

  • Request Method:POST
  • Endpoint:/ai-center/v1/ai-lesson-planner

HTTP Request

Path Parameters

/

Request Header

Content-Type: application/json Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.

Request Body

This API requires the following parameters to be passed in the Request Body:

ParameterTypeRequiredNote
topicString(200)trueLesson plan topic
audienceString(500)trueAudience for the lesson
durationString(200)trueDuration of the lesson
learningObjectiveString(800)falseObjective of the lesson
additionalInfoString(800)falseAdditional information
languageString(200)falseOutput language for the lesson plan

Request Example

  • Request URL:https://vcaas.ai.hilink.co/api/ai-center/v1/ai-lesson-planner
  • Content-Type: application/json
  • Authorization: Please refer to the 'Authentication' section in 'Introduction' of the documentation for the value of this field.
  • Request Body Content:
{
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English"
}

HTTP Response

If the returned HTTP status code is 200, it indicates a successful request. The response body contains the following fields:

FieldsTypeNote
aiLessonPlanIdStringLesson plan ID
languageStringOutput language for the lesson plan
additionalInfoStringAdditional information
audienceStringAudience for the lesson
durationStringDuration of the lesson
learningObjectiveStringObjective of lesson
topicStringLesson plan topic
contentStringLesson plan content Note: output is in Markdown format

Response Example

{
    "aiLessonPlanId": "ALP-LAZ0T7M2cam",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}