Developer FAQs
Please don’t hesitate to get in touch if you have questions. You can email us at help@assembly.education or give us a call at 020 8506 6100.
How can I test your API?
You can sign up to your own Sandbox account here! Please see this guide for help on getting started.
Should I use the Unique Pupil Number (UPN) to uniquely identify a student?
student_id
field to uniquely identify a student (an Assembly-generated identifier that is unique to every person, including students) instead of UPN.
Do you use a student's "preferred" name or "legal" name?
Some MIS have the ability to list a preferred name and a legal name for a student. We initially try to pull the preferred name of a student from the MIS, but if this field is blank we will use the official or legal name as a backup, ensuring the student's name is always populated.
How is access to school data controlled?
Access to school data is controlled by a data access request. The data access request clearly shows the scopes of data that your authorisation request has asked for, and must be authorised by a school for data to flow. The available scopes can be found on our API documentation and on our data model.
Can a school use my app if they haven't given authorisation to all of the data scopes?
No. Schools must give authorisation to all data scopes your app requires in order to use it. If there is a data scope that isn't essential for your app that schools are not comfortable giving access to, you should adjust your app's authorisation request accordingly.
Why do I need access to a separate scope to retrieve looked after status?
The field is particularly sensitive, and we have therefore deemed it requires a data scope of it's own. You can return this field for a student the same way as with other student demographic information ( GET /students?demographics=true&care=true
), but it will only be included if you have access to this scope.
How do I get schools connected to the Assembly Platform?
For more information on how to onboard schools, please see this support article.
Can pagination be turned off?
No. However, the per_page
parameter allows you to set how many results to return per page. For example, this value could be set to 100 when returning a teaching group list. Since teaching groups generally only contain around 30 students this would ensure a full teaching group is returned. Year groups, on the other hand, tend to contain over 100 students, so you may want to adjust your per_page
parameter accordingly.
How do I return teaching groups for a specific year?
To return teaching groups for a specific year, you can set the year group as a query parameter on your request like so: GET /teaching_groups?year_code=9
.
The same can also be done with registration groups and student endpoints.