Quiz API and Integration options

When you give your exams online, ClassMarker allows you to integrate your own user ids to be saved with users Test results, allowing you to easily export or send your user ids (along with respective Test results) back to your own website in real time.

Use the information below to pass details, such as your systems user_id or other Test takers details, to ClassMarker.

Our Online Testing API allows your web developer private access to extract your Test results back into your system.

What is an API?

For Developers

1. Pass user details to ClassMarker: And learn how to Return users to your website

2. Online Testing API Documentation: Learn how to retrieve Quiz results automatically!

Integrate exams and quizzes with ClassMarker's API

Integrate your own user ids

You can record your own users ids by automatically appending them to the Link your users click to take their Test (if they are logged in to your website for example).


The cm_user_id will hold your users "user id for your system" (or any other tracking string) and will save this against their Test results.

The cm_user_id can be used to:

cm_user_id can be any alphanumeric string under 100 characters long.

You can also require Tests can only be taken if a user_id is supplied, and limit each user id to one attempt only per Test (See Link settings when assigning Tests).

Populate users details as well if you prefer - see "Pre-populate user details" below.

Pre-populate user details

When using our Direct link Testing options, you can send your users details to ClassMarker to save them having to fill in their name and email address (should you select to require their details) before they start the Test.

When you assign your Test to a Direct link, you are given the unique link for your Test. This is the link you can send users details to.

Send details using either GET or POST with the following parameters names.

Parameters names:
cm_fn=First name (optional)
cm_ln=Last name (optional)
cm_e=Email (optional)
cm_user_id=123 (optional)

GET Example:


POST Example:

<form action="https://www.classmarker.com/online-test/start/" method="post">
<input type="hidden" name="quiz" value="YOUR_UNIQUE_QUIZ_ID_GOES_HERE"/>
<input type="hidden" name="cm_fn" value="John"/>
<input type="hidden" name="cm_ln" value="Smith"/>
<input type="hidden" name="cm_e" value="john@example.com"/>
<p><input type="submit" value="Take your online test"/></p>

Return Test results in real time

ClassMarker also lets you set a return link for users to follow back to your website after they have completed their Test.

Return links can also have the users details, Test score and duration appended to it for you to record in real time on your own website.

To use Return links:
Select to assign your Test to a direct link from the Assign section, or edit an existing assigned Test, then find the 'Return link' section to add your return link and check the box that reads, 'Append 'Test results' parameters to return LINK'. Each time a user completes your Test and clicks your Return link, your Test scores will be sent to your website on the Return link.


cm_ts=Test Score (Points scored)
cm_tp=Test Percentage
cm_td=Test Duration (0-12-35 = 0h 12m 35s)
cm_fn=first name
cm_ln=last name
cm_e=email address

1) At present cm_ts and cm_tp can be to given to one decimal place if applicable.
EG: 50 or 50.1. Please ensure your system will accept a value to 1 decimal place, 50.0 or 50.1 for future changes.
(For now convert any whole number to one decimal place on your end: 50 to 50.0).

2) In a future enhancement we will be adding an extra parameter cm_tsa=Test Score Available which will be (Total points available) for the Test.
(For now check is this parameter exists and ignore otherwise).

Return custom variables
You can also add your own unique parameters to be returned to you on the return link, by pre pending the parameter names with cm_return_

The parameter cm_return_employee_id=1234 will be returned to you as &cm_return_employee_id=1234

Note: cm_return_ parameter values are not saved with Test results, only returned on the Return URL. Use cm_user_id explained above which will save it's value with the Test results for you to review, export or retrieve using our API.

Restrict access with 'Access lists'

When testing non-registered users via a direct link or embedding Tests within your website, as well as password protecting your Tests, you also have the option to limit exactly who can access your Tests by using 'Access list'.

An Access list is a list of unique identifiers you add (email address, employee ids, etc) that a user must use to access your Test/s. You can limit how many times each unique identifier can be used per Test and they are recorded along with the respective Test results.

Both access list items and cm_user_id values can be exported to Excel format with Test results, date taken, Test duration and IP address.

These methods do not require users to be registered to take your Tests, and if using access lists you can mass import identifiers when creating and editing lists.

Brand your Tests

Easily add your own logos and colors to your Test pages or embed them within your own website.