Sending Results Back to the Platform

Please don’t hesitate to get in touch if you have questions. You can email us at or give us a call at 020 8506 6100.

Before you start

  • First, you should ensure that you have an app set up on your Sandbox environment. Follow this guide to get started. 
  • You should also be familiar with the various concepts in the Assembly Assessment model, you can read about them here.  
  • Please note: the IDs of all parts of the assessment model may change between sandbox and production environments. However, Assessment_point_rank will be consistent throughout both.
  • Results can only be sent for one Assessment, Facet, Assessment Point and Subject at a time. Up to 50 student results can be sent in one payload. 


  • You will need the assessment_id to send results back to the Platform. Please note this id may change between sandbox and production environments. 


  • Results will also need to be attached to one of the four available facets.
  • Click here for the description of a facet
  • The /facets endpoint can be used to discover the id of the relevant facet. Please note this id will change between sandbox and live environments. 

  • The facet_id will be needed to send results back. 

Assessment Points

  • The assessment_point_rank will be needed to send results back.


  • This subject_id will be needed to send results back. 


  • Results must also be attached to a student_id. The ID of a student can be discovered from the /students endpoint. 


  • Results themselves must be sent back as a grade_id, taken from the gradeset we have attached to your assessment. 
  • A call to /assessments/{assessment_id}/grade_set endpoint will reveal those grades. 
  • You can then use the value field on the grades returned to do a numerical comparison to the grades you accept. If the grades do not have an equivalent numerical value, you will have to match on the string provided by the name

  • The grade_id will be needed to send results back

The Payload

  • With a combination of the above concepts, assessment results can be sent to the results endpoint as an HTTP POST request. 
  • Up to 50 results can be sent per POST .
  • Here is an example body:
		"subject_id": 1,
		"facet_id": 5,
		"assessment_point_rank": 215,
		"assessment_id": 1,
		"results": [
    			{ "student_id": 92522, "grade_id": 103 },
			{ "student_id": 92529, "grade_id": 102 },
			{ "student_id": 92533, "grade_id": 102 },
     			{ "student_id": 92601, "grade_id": 159 }
  • If successful, you will receive a {"message":"ok"} response, along with the information that has been updated.

Viewing Results

  • Once you've written results back to the Assembly platform, you will also be able to read those results using the student_id as a ?students= query parameter. 
  • Multiple ids should be separated by a URL encoded space, as shown below:

Updating Results

  • You can also update existing results by sending a PATCH for the specified result_id(s).
  • To update a single result, you can include the result_id in the URL of your request, with the new grade_id in the body.
  • To update multiple results, provide both the result_ids and grade_ids in the body of your request.