This API provides a way to register and generate online quiz links with tracking information. It supports both HTTP POST and GET requests. Authentication is required.
https://research.notte.tw/api/onlinequiz/new
HTTP POST with JSON body
HTTP GET with query parameters
Parameter Required Type Description
account Yes String Your account (email address).
password Yes String Your password.
email Yes String The email address of the person you want to invite as a
monitor.
lineid Optional String Line user ID. Will be invited to become the monitor.
formurl Yes String The form URL(Google/Microsoft/SurveyCake/SurveyMonkey) to register. Must be the last parameter if using the GET method.
quizname Optional String An optional friendly name or label for easier identification, and will be shown in the invite email.
starttime Optional String Online Quiz admission start time.
endtime Optional String Online Quiz admission end time, which defaults to 7 days from now.
language Optional String Language code (default: zh).
Language code Language
en English
zh Traditional Chinese
cn Simplified Chinese
Important note:
The format for starttime and endtime is yyyyMMddHHmmss.
For HTTP GET requests, formurl must be the last parameter in the API URL, anything after formurl= is treated as part of the form URL.
Success (Version 5.7):
{
"success": true,
"quizurl": "https://link.notte.tw/***",
"statusurl": "https://link.notte.tw/***"
}
Success (Version 5.8, Active after 2025/07/30 08:00:00):
{
"success": true
}
Error :
{
"success": false,
"code": "ERRCODE",
"message": "Error message"
}
Error Code Description
ERR_PARAM Missing or invalid parameters.
ERR_ACCOUNT Invalid account or password.
ERR_AUTH_EMAIL Email address is not authorized for your account.
ERR_AUTH_LINE Line ID is not authorized for your account.
ERR_FORMURL The provided form link is not allowed.
ERR_TIMEFORMAT Time format is invalid (should be yyyyMMddHHmmss).
ERR_TIMEWINDOW End time exceeds the maximum limit (maximum 90 days).
ERR_START_BEFORE Start time is earlier than the current time.
ERR_FRIENDLYNAME Friendly name contains invalid characters or is too long (maximum 100 characters).
The API will not be active before 2025/07/09 00:00:00, and will return HTTP 404 Not Found.
Starting from Version 5.8, even if API requests succeed, the API will return only a success response without quizurl or statusurl. These URLs will instead be sent via email separately.
Headers:
Content-Type: application/json
Request Body:
{
"account": "myaccount@example.com",
"password": "ExamplePassword",
"email": "abc@example.com",
"line": "U1234567890abcdefghhijklmnopqrstuvw",
"formlink": "https://docs.google.com/forms/d/e/xxxx/viewform",
"starttime": "19991231235959",
"endtime": "200001010000",
"language": "en",
"friendlyname": "Example Quiz"
}
Request:
https://research.notte.tw/api/onlinequiz/new?account=myaccount@example.com&password=ExamplePassword&email=abc@example.com&line=U1234567890abcdefghhijklmnopqrstuvw&starttime=19991231235959&endtime=200001010000&language=en&friendlyname=Example quiz&formlink=https://docs.google.com/forms/d/e/xxxx/viewform
If the user specified by the account or email parameter has unsubscribed from the notification group, no invitation or notification email will be sent.
The generated quizurl is intended for participants, while the statusurl is to show the status of the quiz, including quiz URL, start/end times, etc.
All the dates and times will be counted in the server's time zone (UTC+8).
If you are not familiar with the quizurl or statusurl, you can visit this page.