Xporter API
Generate an STS token
The Xporter REST API supports token authorisation using a custom bearer style Authorization
header.
Example authorization header
Authorization: Idaas {STSToken}
Token Types
There are two types of token that you can generate:
Type | Description |
---|---|
School | Provides access to School Data APIs |
Management | Provides access to Management and Automation APIs |
Tokens contain the information Xporter needs to determine what data and services your application has access to - what you are authorised for.
School API Tokens
When a school authorises your application, a unique schoolSecret
is issued that is needed to generate a Token
.
If a school authorises your app a second time, you will be issued with a new schoolSecret
and a new Token
should always be generated.
Important: You will be issued a unique
schoolSecret
for each school that authorises your application.
Management API Token
A managementSecret
is issued to you following initial registration of your application.
Tokens
generated with a managementSecret
are used for management and automation APIs. They do not have access to school level data.
To request a new
managementSecret
please contact our service team.
Generating a Token
To generate a token, a POST is made to the Xporter STS and an object is returned containing the token
.
POST Object Fields
Field | Type | Example | Description |
---|---|---|---|
estab | String | 3281102 | School establishment number you are generating a token for |
relyingParty | String | app.example.dev | Your application Id |
password | String | b9aef7a6-3ee4-4935-98ff-6afe46447213 | Your application management or school secret |
thirdpartyid | String | XporterOnDemand | The service for which you are authenticating (Always "XporterOnDemand") |
Generate School API Token
Include the estab
property and pass the schoolSecret
that you will have received following authorisation by a school.
Important: You will need to generate and use a token per school to access the school data APIs.
Generate Management API Token
Omit or send "estab":""
and pass your managementSecret
:
Important: The management token generated by this request will not grant access to school data API endpoints.
Token Responses
Example Successful Response
{
"token": "JhS0X....esMbPoHUOY=",
"expires": "2021-04-17T09:34:46.402555Z",
"Message": null,
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
You will want to save/store the token with its expiry
value so you can refresh the token ahead of time.
Example Failed Response
{
"token": null,
"expires": "0001-01-01T00:00:00",
"Message": null,
"ExceptionType": null,
"ExceptionMessage": "Relying Party not found for estab or secret not correct",
"InnerException": null
}
Example AuthorisationPaused Response
{
"token": null,
"expires": "0001-01-01T00:00:00",
"Message": null,
"ExceptionType": null,
"ExceptionMessage": "Authorisation is currently paused while the school finalises the selection of people they wish to include in this feed.",
"InnerException": null
}
GDPR Functionality: You will receive an Authorisation Paused response when attempting to generate a
token
if the school opts to make amendments to which people are included in the data feed during initial authorisation.
Request Body schema: application/json
estab | string |
relyingParty | string |
password | string |
thirdpartyid | string |
Responses
Request samples
- Payload
{- "estab": "string",
- "relyingParty": "string",
- "password": "string",
- "thirdpartyid": "string"
}
Response samples
- 200
{- "token": {
- "token": "string",
- "Expires": "2019-08-24T14:15:22Z",
- "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
}
Retrieve list of scopes for your token.
Review details of scopes your token has access to
Authorizations:
Responses
Response samples
- 200
{- "Scopes": [
- {
- "Name": "string",
- "Category": "string",
- "Description": "string"
}
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Retrieve logs relevant to your token.
Review request logs for a given school for your application
Authorizations:
Responses
Response samples
- 200
{- "Logs": [
- {
- "RowKey": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "DateTimeString": "string",
- "Estab": "string",
- "User": "string",
- "Type": "string",
- "Id": "string",
- "Message": "string",
- "Request": "string",
- "Query": "string"
}
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
list queries that the token alows you to run
list queries that the token alows you to run
Authorizations:
Responses
Response samples
- 200
{- "Endpoints": [
- [
- {
- "Version": "1",
- "Id": "school.applications",
- "Method": "GET",
- "Scope": "Applications",
- "Path": "/api/v1/School/{estab}/applications",
- "Description": "Get extended details for Applicants and Applications",
- "Documentation": "",
- "Query": "xod.1.StudentApplications",
- "Options": "",
- "Parameters": "",
- "Published": true,
- "PageSize": 0
}
]
], - "Queries": [
- [
- {
- "Id": "xod.1.Students",
- "Description": "List of students",
- "Scope": "Student,StudentLite",
- "ResultSetNames": "Students,StudentSiblings,meta",
- "Options": "includePhotos:Set to enable the student photo column in the result set\nincludeGroupIds:Set to include GroupIds column\nincludeGroupIdaasIds:Set to include GroupIdaasIds column\nincludeGroupXIDs:Set to include GroupXIDs column\nincludeParentIdaasIds:Set to include ParentIdaasIds column\nincludeParentXIDs:Set to include ParentXIDs column\nincludeAttStats:Set to include aggregated session attendance stats\nincludeAttMarkString:Include packed mark string\nincludeSiblingsList:Set to include StudentSiblingIds column\nincludeSiblingsResultset:includeSiblingsResultset\nincludeLeavers: includeLeaversResultset\nincludePreAdmissions: includePreAdmissionsResultset\nincludeGuests: include Guest students\nincludeSubsidiary:include students with Subsidiary Enrolment\nincludeComms: include students home email address, home phone and mobile phone",
- "Parameters": "id:optional id\nupdatedSince:filter by LastUpdated greater than this date\nyearGroupId:Filter by specific Year Group Id obtained group school.groups endpoint\nstudentStatus:Filter to specific student status (OnRoll,Leaver,PreAdmission)\n"
}
]
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Usage for estab+rp
Usage history for establishment and relying party
Authorizations:
Responses
Response samples
- 200
{- "Usage": [
- [
- {
- "Estab": "3287731",
- "RP": "XoD",
- "Areas": [
- {
- "Area": "Error",
- "Total": 306,
- "Today": 5,
- "ThisMonth": 21,
- "History": [
- {
- "month": "2025-02",
- "count": 21
}
]
}
]
}
]
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Response samples
- 200
{- "GDPR": [
- [
- {
- "IsOptIn": false,
- "Estab": "3287731",
- "RelyingParty": "XoD",
- "MIS": "simsnet",
- "StudentIds": [ ],
- "StaffIds": [ ],
- "ContactIds": [ ],
- "OtherIds": [ ]
}
]
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Get Xod Schools
This endpoint provides a list of all your current schools, schools pending authorisation, and revoked schools.
API Endpoint: https://xporter.groupcall.com/api/XporterOnDemand/GetXodSchools HTTP Method: GET
Available parameters:
Parameter | Type | Example | Description |
---|---|---|---|
includePendingAuthorisation | Bool | https://xporter.groupcall.com/api/XporterOnDemand/GetXodSchools?includePendingAuthorisation=true | Include pending authorisation schools |
estab | String | https://xporter.groupcall.com/api/XporterOnDemand/GetXodSchools?estab=3281102 | Return a single school |
Example response:
{
"Authorised": [
{
"estab": "3281101",
"schoolName": "Groupcall SIMS7 Primary",
"dateAuthorised": "2017-06-02T10:05:01",
"scopesAuthorised": "Address,AgencyAgent,AssessmentResults,Attendance,Conduct,Photos,Staff",
"installedStatus": true,
"installMessage": null
},
{
"estab": "3281102",
"schoolName": "Groupcall SIMS7 Secondary",
"dateAuthorised": "2017-06-02T10:05:01",
"scopesAuthorised": "Address,AgencyAgent,AssessmentResults,Attendance,Conduct,Photos,Staff",
"installedStatus": true,
"installMessage": null
}
],
"Revoked": [
{
"estab": "3281103",
"schoolName": "Groupcall SIMS7 Secondary (Authorisation Test)",
"dateRevoked": "2019-05-13T00:00:00"
}
],
"PendingAuthorisation": [
{
"estab": "3281110",
"schoolName": "Groupcall Bromcom Secondary",
"dateInvited": "2018-06-26T10:25:37",
"installedStatus": true,
"installMessage": null
}
]
}
Authorizations:
query Parameters
estab | string Return a single school |
includePendingAuthorisation | boolean Include pending authorisation schools |
Responses
Response samples
- 200
{- "Authorised": [
- {
- "estab": "string",
- "schoolName": "string",
- "dateAuthorised": "2019-08-24T14:15:22Z",
- "scopesAuthorised": "string",
- "installedStatus": "string",
- "installedmessage": "string"
}
], - "Revoked": [
- {
- "estab": "string",
- "schoolName": "string",
- "dateRevoked": "2019-08-24T14:15:22Z"
}
], - "PendingAuthorisation": [
- {
- "estab": "string",
- "schoolName": "string",
- "dateInvited": "2019-08-24T14:15:22Z",
- "installedStatus": "string",
- "installedmessage": "string"
}
]
}
Invite a school or schools
Allows you to programmatically invite a school to share data with your application. Schools can trigger this process themselves from within your application.
Using the API to invite schools initiates the standard onboarding process which will send an invitation email to schools allowing them to begin the authorisation flow.
Authorizations:
Request Body schema: application/json
RegistrationType | string Enum: "Live" "Test" |
Array of objects |
Responses
Request samples
- Payload
{- "RegistrationType": "Live",
- "Schools": [
- {
- "LeaCode": "string",
- "DfesCode": "string",
- "SchoolName": "string",
- "SchoolContactFirstName": "string",
- "SchoolContactLastName": "string",
- "SchoolContactPhone": "string",
- "PartnerApplicationId": "string",
- "PartnerName": "string",
- "ScopesToAuthorise": "string",
- "AuthParams": "string",
- "WeAcceptGroupcallUsagePolicy": true
}
]
}
Response samples
- 200
{- "Schools": [
- {
- "LeaCode": "string",
- "DfesCode": "string",
- "Status": "string",
- "Message": "string"
}
]
}
Revoke Data Access
Revoke access and stop the data feed between a school and partner
Authorizations:
Request Body schema:
Estab | string The 7 digit Estab ID you wish to revoke |
RevokeDate | string The date from which to revoke access in dd:MM:yyyy format (provide either this or RevokeDateTime) |
RevokeDateTime | string The date from which to revoke access in dd:MM:yyyy format (provide either this of RevokeDate) |
Responses
Request samples
- Payload
{- "Estab": "string",
- "RevokeDate": "string",
- "RevokeDateTime": "string"
}
Response samples
- 200
- default
{- "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Check Estab
Check if an estab has Xporter on Demand setup
Authorizations:
query Parameters
Estab required | string 7 digit estab code for the estab to check |
Responses
Response samples
- 200
- default
{- "Scopes": [
- {
- "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
Achievements for Date Range
Fetch achievement records for a date range with optional filters to refine the returned dataset
Endpoint Description
Retrieve positive achievement conduct records for a date range with optional filters to refine the returned dataset
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentAchievements.StudentId | Students.Id | Student record information |
school.staff | StaffAchievements.StaffId | Staff.Id | Staff record information |
Fields by Scope
Achievements
Achievement records returned within the date range specified. Optionally, can include csv of StudentId members of each given conduct.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 4000 | MIS Id of the achievement record | Conduct |
ConductId | Ach.4000 | Id of the conduct record prefixed with the conduct type to ensure uniqueness with behaviour records - unprefixed | Conduct |
AchievementType | Lunchtime Incident | The incident type | Conduct |
Date | 2017-05-10 | Date of the incident | Conduct |
Activity | Lunch | Activity type | Conduct |
Location | Outside School Grounds | Location description for incident | Conduct |
RecordedBy | Mr A Blacker | Staff member incident was recorded by | Conduct |
RecordedOn | 2017-05-10 | Date incident was recorded on | Conduct |
Description | Grafitti on a wall | Comment on the incident record | ConductComments |
Category | Beh | Ach or Beh to define record type | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | Conduct |
StudentAchievements
Student membership of returned achievment records, including student specific related information such as Points.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-9919.Ach.4000 | Composite Id for the student membership | Conduct |
StudentId | 9919 | Id of the student | Conduct |
AchievementId | 4000 | Id of the conduct record | Conduct |
Points | 10 | Points assigned to this specific student | Conduct |
Outcome | Commended | The outcome of the conduct record | Conduct |
OutcomeCode | COM | The outcome code of the conduct record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
StaffAchievements
Staff membership of returned conduct records, including staff specific related information such as StaffRole.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PWT-1.Ach.4000 | Composite Id for the staff membership | Conduct |
StaffId | 1 | Id of the staff member | Conduct |
AchievementId | 4000 | Id of the achievement record | Conduct |
StaffRole | null | Role of this staff for this conduct record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStudentIds | string <CSV> Optionally include csv of Ids for linked students |
includeStaffIds | string <CSV> Optionally include csv of Ids for linked staff (Not including RecordedBy) |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
IncidentDate | string <yyyy-MM-dd> Optional filter on Incident Date yyyy-MM-dd |
StudentId | string Optional Student Id |
StaffId | string Optional Staff Id |
id | string Optional Conduct Id |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "achievementfordaterange": [
- [
- {
- "Id": "string",
- "ConductId": "string",
- "AchievementType": "string",
- "Date": "string",
- "RecordedBy": "string",
- "RecordedOn": "string",
- "Subject": "string",
- "Category": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StudentAchievements": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "AchievementId": "string",
- "Points": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StaffAchievements": [
- [
- {
- "Id": "string",
- "StaffId": "string",
- "AchievementId": "string",
- "StaffRole": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Achievements for Today
Retrieve positive achievement conduct records for a date range with optional filters to refine the returned dataset
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentAchievements.StudentId | Students.Id | Student record information |
school.staff | StaffAchievements.StaffId | Staff.Id | Staff record information |
Fields by Scope {#Fields}
Achievements
Achievement records returned within the date range specified. Optionally, can include csv of StudentId members of each given conduct.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 4000 | MIS Id of the achievement record | Conduct |
ConductId | Ach.4000 | Id of the conduct record prefixed with the conduct type to ensure uniqueness with behaviour records - unprefixed | Conduct |
AchievementType | Lunchtime Incident | The incident type | Conduct |
Date | 2017-05-10 | Date of the incident | Conduct |
Activity | Lunch | Activity type | Conduct |
Location | Outside School Grounds | Location description for incident | Conduct |
RecordedBy | Mr A Blacker | Staff member incident was recorded by | Conduct |
RecordedOn | 2017-05-10 | Date incident was recorded on | Conduct |
Description | Grafitti on a wall | Comment on the incident record | ConductComments |
Category | Beh | Ach or Beh to define record type | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | Conduct |
StudentAchievements
Student membership of returned achievment records, including student specific related information such as Points.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-9919.Ach.4000 | Composite Id for the student membership | Conduct |
StudentId | 9919 | Id of the student | Conduct |
AchievementId | 4000 | Id of the conduct record | Conduct |
Points | 10 | Points assigned to this specific student | Conduct |
Outcome | Commended | The outcome of the conduct record | Conduct |
OutcomeCode | COM | The outcome code of the conduct record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
StaffAchievements
Staff membership of returned conduct records, including staff specific related information such as StaffRole.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PWT-1.Ach.4000 | Composite Id for the staff membership | Conduct |
StaffId | 1 | Id of the staff member | Conduct |
AchievementId | 4000 | Id of the achievement record | Conduct |
StaffRole | null | Role of this staff for this conduct record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStudentIds | string <CSV> Optionally include csv of Ids for linked students |
includeStaffIds | string Optionally include csv of Ids for linked staff (Not including RecordedBy) |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "achievementfordaterange": [
- [
- {
- "Id": "string",
- "ConductId": "string",
- "AchievementType": "string",
- "Date": "string",
- "RecordedBy": "string",
- "RecordedOn": "string",
- "Subject": "string",
- "Category": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StudentAchievements": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "AchievementId": "string",
- "Points": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StaffAchievements": [
- [
- {
- "Id": "string",
- "StaffId": "string",
- "AchievementId": "string",
- "StaffRole": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Conduct Writeback
Endpoint Description
Writeback endpoint to create achievement records in the MIS.
Important: Currently only SIMS MIS is supported for Conduct Achievement Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Sections & Fields for Writeback Object
Conducts - Mandatory
The conduct section defines the achievement event itself. The Id column is an internal reference to related records in this specific writeback object. Multiple Conducts can be defined, increment the Id field to identify separate Conduct records. Related objects such as Participants and Staff will need to reference the respective ConductId in those records.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Unique identifier of the conduct record for this writeback data | Yes |
IncidentType | Ach | Text | The type of conduct being written. Must be "Ach" | Yes |
RecordedById | 1 | Integer | Id of the staff member that recorded this event | Yes |
EntryDate | 2017-02-21 (yyyy-MM-dd) | Text | Date that this event occurred | Yes |
TypeId | 4 | Integer | Id of the behaviour type selectable from school.conductlookups ConductTypes.LocalId values | Yes |
ActivityId | 13 | Integer | Id of BehActivity from school.conductlookups ConductLookups.LocalId | No |
Note | Great piece of work | Text | Free text description or comment for event - MAX 500 Character Limit | No |
Participants - Mandatory
The participants section lists the involved students. There can be multiple students associated with a single Conduct - ensure the ConductId for multiple students all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
Points | 10 | Integer | Set the points for the student | Yes |
StudentId | 9919 | Integer | Id of the student | Yes |
OutcomeId | 1 | Integer | Id of the AchOutcome lookup | No |
Staff - Optional
The Staff section lists the involved staff members. It is optional and can be omitted entirely. There can be multiple staff associated with a single Conduct - ensure the ConductId for multiple staff all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
StaffId | 1 | Integer | The Id of the staff member | Yes |
StaffRoleId | 3 | Integer | Id of BehStaffRole from school.conductlookups ConductLookups.LocalId | No |
MediaFiles - Optional
The MediaFiles section allows you to attach media data to a specific conduct incident, it is optional and can be omitted entirely. Multiple media files can be linked with a single Conduct record - you will need to increment the Id property and ensure all MediaFiles intended for the same Conduct record have the correct corresponding ConductId set.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Incremental Id of the MediaFile linked to a specific Conduct record | Yes |
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
MediaDateTime | 2017-04-26T12:00:00 | DateTime | Timestamp for when media was created | Yes |
Description | Example image | Text | Description or comment for media | Yes |
MediaType | png | Text | Media attachment filetype | Yes |
FileName | small_tick.png | Text | Media attachment filename | Yes |
MediaBase64 | iVBORw0KGgo....RK5CYII= | Text | Base64 encoded string of media attachment | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=ConductBeh&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xportertesting.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When an Achievement Conduct is successfully written back, we will also include POST body data with the Id of the event that was created in the MIS so you can reconcile a successful writeback being made. The JSON we will return to you will look similar to the below example:
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The incremental Id of the conduct record that was specified in the JSON you POSTed
ActualId: The MIS Id of the record that was created for that conduct record
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Conduct Writeback Async
Endpoint Description
Writeback endpoint to create conduct records in the MIS using our preferred Async method.
Important: Currently only SIMS and Bromcom MIS are supported for Conduct Writeback.
Important: Please refer to the POST.ConductAch or POST.ConductBeh endpoints for specific information about each type. Both respective payloads can be submitted to this endpoint.
Important: Many MIS have different structures for Conduct data. Please read the relevant information in this document carefully.
Validation Errors
Writeback requests need to pass a series of validations before they are accepted. This avoids erroneous data being sent to the MIS. We will validate your writeback POST before we send to the school to ensure that the information provided contains valid information (student Ids, correct lookupIds etc). If there is an error, we will fail the request and provide you an error message detailing the issue. Validation errors will be returned immediately in response to your request.
Validation Error | Description | Action Required |
---|---|---|
Conduct writeback is not supported for {MIS} | We detected a writeback attempt for an MIS that does not yet support it | Stop making writeback requests for this school |
Invalid StudentId: {StudentID} | StudentId specified is not a valid on roll StudentId | Validate StudentIds sent in writeback requests to ensure they are all valid on roll students |
Deletion of conduct records is not supported for {MIS} | Not all MIS providers support the deletion of conduct records | Stop making deletion requests for this school |
Invalid Student RoleId for StudentId: {StudentId} | The RoleId supplied for the Student is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Invalid StaffId: {StaffID} | StaffId specified is not a valid member of Staff | Validate StaffIds sent in writeback requests to ensure that they are all valid members of staff |
Invalid Staff RoleId for StaffId: {StaffId} | The RoleId supplied for the member of Staff is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Note field max character limit (500) exceeded for Conduct Id: {ConductId} | The Note field is limited to 500 characters in length | Ensure that the Note field in the Conduct payload does not exceed 500 characters |
Invalid IncidentType {IncidentType} should be Ach or Beh | Only two values are valid for the Incident Type. These values are Ach for positive achievements, or Beh for negative behaviours. This field is mandatory. | Ensure you are supplying an IncidentType and that it is valid. |
Invalid TypeId {TypeId} | The TypeId supplied for the Conduct is not a valid TypeId | Validate the TypeId against the data in the ConductLookups endpoint |
Invalid ActivityId {ActivityId} | The ActivityId supplied for the Conduct is not a valid ActivityId | Validate the ActivityId against the data in the ConductLookups endpoint |
Invalid LocationId {LocationId} | The LocationId supplied for the Conduct is not a valid LocationId | Validate the LocationId against the data in the ConductLookups endpoint |
Invalid StatusId {StatusId} | The StatusId supplied for the Conduct is not a valid StatusId | Validate the StatusId against the data in the ConductLookups endpoint |
Mandatory field StatusId missing | The field StatusId is mandatory | Ensure you are supplying a StatusId with each Conduct record |
Invalid RecordedById {RecordedById} | The RecordedById supplied for the Conduct is not a valid RecordedById | Validate the RecordedById against the data in the ConductLookups endpoint |
Invalid BullTypeId {BullTypeId} | The BullTypeId supplied for the Conduct is not a valid BullTypeId | Validate the BullTypeId against the data in the ConductLookups endpoint |
Invalid EntryTimeId {EntryTimeId} | The EntryTimeId supplied for the Conduct is not a valid EntryTimeId | Validate the EntryTimeId against the data in the ConductLookups endpoint |
Invalid Achievement OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for an Achievement | Validate the OutcomeId against the data for Achievements in the ConductLookups endpoint |
Invalid Behaviour OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for a Behaviour | Validate the OutcomeId against the data for Behaviour in the ConductLookups endpoint |
You must provide an UpdateId when trying to remove students from a behaviour record | You have supplied a Conduct payload with negative StudentIds, indicating an intention to remove Students from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove staff from a behaviour record | You have supplied a Conduct payload with negative StaffIds, indicating an intention to remove Staff from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove media from a behaviour record | You have supplied a Conduct payload with negative Ids for Media, indicating an intention to remove Media from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You have assigned the same student to the same conduct more than once | You have linked a Student to the same Conduct multiple times | Ensure you only link a Student once to a single Conduct record |
You have assigned the same staff to the same conduct more than once | You have linked a Staff member to the same Conduct multiple times | Ensure you only link a Staff member once to a single Conduct record |
You have defined the same conduct more than once | You have repeated a Conduct record in your payload, or assigned two Conducts the same Id | Ensure that each Conduct is unique and has a unique Id |
Missing mandatory field TypeId | The field TypeId is mandatory and must be part of a Conduct writeback | Ensure you are always supplying a TypeId |
Response
On submission of your request, we respond immediately with a success status to let you know we have queued your request and will issue you with a TrackingId that you can use to match up your writeback request with the callback we will respond with on completion.
Example response:
{
"TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"DataSet": {
"trackingid": [
{
"trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"errorquery": "Writeback.ConductAsync_OnError"
}
]
},
"Message": "success",
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When a Conduct record is successfully written back, we will include POST body data with an array of results that include the IncidentId and ActualId for each event that was created in the MIS so you can reconcile a successful writeback being made.
The JSON we will return to you will look similar to the below example:
{
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The Id of the conduct record that was specified in the JSON you POSTed to us.
ActualId: The MIS Id of the record that was created for that conduct record.
Depending on how each MIS handles conduct writeback, you may receive a single ActualId for a given IncidentId OR multiple ActualId records for a given IncidentId. Your application should support and understand that it may receive 1 or multiple instances of ActualId links for a conduct record. For this reason, we suggest that the Id (returned as IncidentId) in your writeback request can be uniquely referenced by your own application.
Example 1 (SIMSNET):
- You submit a writeback payload where a Conduct has more than one linked student.
- Xporter will submit the conduct record with related students to SIMSNET.
- Xporter will return you a single ActualId with the associated ConductId you provided, that it has created for the Conduct record in the MIS.
- When you fetch data next time from the API, there will be one Conduct record returned that corresponds to your record that was written back. The conduct will have more than one related student.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "43534"
}
]
}
Example 2 (BROMCOM):
- You submit a writeback payload where a Conduct has 3 linked students.
- Xporter will split the Conduct into one Conduct record per Student to submit to Bromcom.
- Xporter will return you a list of ActualId with the associated ConductId you passed that it has created for each Conduct record in the MIS.
- When you fetch data next time from the API, there will be 3 conduct records that correspond to the ActualId you were returned from your record that was written back. Each conduct will have only one related student.
- You may wish to aggregate these records in your platform for display depending on your use case.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "B78894"
},
{
"IncidentId": 1,
"ActualId": "B78893"
},
{
"IncidentId": 1,
"ActualId": "B78892"
}
]
}
Conduct Feature Support
MIS | Linked Students | Linked Staff | Record Deletion Support |
---|---|---|---|
SIMSNET | One Conduct to Many Students | Multiple Staff Roles Supported | Yes |
Bromcom | One Conduct to One Student | Witness Role Supported only | No |
MIS Specific Notes
Where there are specific features that deviate from default documentation for a given MIS, we will highlight below.
Bromcom
- Mandatory field StatusId in Conduct object is not required
- Media object is not supported
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{- "result": [
- {
- "IncidentId": 1,
- "ActualId": 1811
}
]
}
Assessment Results
Endpoint Description
Using the information from the school.students, school.groups, and school.assessmentstructure endpoints, request specific result data. This call returns the same data structure as the other assessmentresult*
endpoints, but allows all of the available filters to be used.
Tip: When filtering by specific aspects, by default we will return you the results data for all associated resultsets linked to the aspects requested.
Optionally, you can specify a request for a specific resultset by supplying the aspect in a pipe-separated pair with the ResultSetId:
- Example: Aspects=702|34,701|33
In addition, you can explicitly ask for results that are linked to no resultset by including the pipe separator but no value:
- Example: Aspects=702|,701|
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory (*) | Students | Request results for a specific set of students (Comma-separated) |
Mandatory (*) | Groups | Request results for students who are members of specific groups (Comma-separated) |
Mandatory (*) | Aspects | Request results for specific aspects (Comma-separated) |
Mandatory (*) | Resultsets | Request results for specific resultsets (Comma-separated) |
Mandatory (*) | Templates | Request results for specific templates (Comma-separated) |
Mandatory (*) | Columns | Request results for specific columns (Comma-separated) |
Mandatory (*) | Marksheets | Request results for specific marksheets (Comma-separated) |
Optional | ResultDateFrom | Filter to results achieved after this date (inclusive) |
Optional | ResultDateTo | Filter to results achieved before this date (inclusive) |
Optional | CollectionDateFrom | Filter to results where the collection date is after this date (inclusive) |
Optional | CollectionDateTo | Filter to results where the collection date is before this date (inclusive) |
(*) - At least one of Students, Groups, Aspects, Resultsets, Templates, Columns, or Marksheets filter must be populated. If more than one are present, then the filter is additive, apart from Resultsets which overrides any others.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AsmResults.StudentId | Students.Id | Student who has been awarded the result |
school.assessmentstructure | AsmResults.AspectId | Aspects.Id | Aspect for which the result relates |
school.assessmentstructure | AsmResults.ResultSetId | ResultSets.Id | The specific resultset for which the result was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1289067 | The unique MIS identifier for the result | AssessmentResults |
StudentId | 9919 | Id of the student who owns the result | AssessmentResults |
AspectId | 702 | Id of the aspect for which the result is for | AssessmentResults |
ResultDate | 2015-09-03 | Date the result was achieved | AssessmentResults |
ResultSetId | 24 | Id of the resultset against which the result was recorded | AssessmentResults |
Result | 6C | The value of the result | AssessmentResults |
NumericValue | 24 | The numeric value of the result | AssessmentResults |
Notes | null | Optional notes field | AssessmentResults |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Students required | string <CSV> Csv of Student Ids |
Aspects required | string <CSV> Csv of Aspects Ids |
ResultSets required | string <CSV> Csv of ResultSets Ids |
Columns required | string <CSV> Csv of Column Ids to pre-populate Aspects |
Marksheets required | string <CSV> Csv of Marksheet Ids to pre-populate Students and Aspects |
ResultDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
ResultDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "assessmentresults": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Assessment Results By Aspect
Endpoint Description
Using the information from the school.students, school.groups, and school.assessmentstructure endpoints, request specific result data.
Tip: When filtering by specific aspects, by default we will return you the results data for all associated resultsets linked to the aspects requested.
Optionally, you can specify a request for a specific resultset by supplying the aspect in a pipe-separated pair with the ResultSetId:
- Example: Aspects=702|34,701|33
In addition, you can explicitly ask for results that are linked to no resultset by including the pipe separator but no value:
- Example: Aspects=702|,701|
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | Aspects | Request results for a specific set of aspects (Comma-separated) |
Optional | ResultDateFrom | Filter to results achieved after this date (inclusive) |
Optional | ResultDateTo | Filter to results achieved before this date (inclusive) |
Optional | CollectionDateFrom | Filter to results where the collection date is after this date (inclusive) |
Optional | CollectionDateTo | Filter to results where the collection date is before this date (inclusive) |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AsmResults.StudentId | Students.Id | Student who has been awarded the result |
school.assessmentstructure | AsmResults.AspectId | Aspects.Id | Aspect for which the result relates |
school.assessmentstructure | AsmResults.ResultSetId | ResultSets.Id | The specific resultset for which the result was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1289067 | The unique MIS identifier for the result | AssessmentResults |
StudentId | 9919 | Id of the student who owns the result | AssessmentResults |
AspectId | 702 | Id of the aspect for which the result is for | AssessmentResults |
ResultDate | 2015-09-03 | Date the result was achieved | AssessmentResults |
ResultSetId | 24 | Id of the resultset against which the result was recorded | AssessmentResults |
Result | 6C | The value of the result | AssessmentResults |
NumericValue | 24 | The numeric value of the result | AssessmentResults |
Notes | null | Optional notes field | AssessmentResults |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Aspects required | string <CSV> Csv of Aspects Ids |
ResultDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
ResultDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "assessmentresults": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Assessment Results By Marksheet
Endpoint Description
Using the information from the school.students, school.groups, and school.assessmentstructure endpoints, request specific result data. Marksheets are the data entry grid for a template assigned to a specific group of students.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | Marksheets | Request results for a specific set of marksheets (Comma-separated) |
Optional | ResultDateFrom | Filter to results achieved after this date (inclusive) |
Optional | ResultDateTo | Filter to results achieved before this date (inclusive) |
Optional | CollectionDateFrom | Filter to results where the collection date is after this date (inclusive) |
Optional | CollectionDateTo | Filter to results where the collection date is before this date (inclusive) |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AsmResults.StudentId | Students.Id | Student who has been awarded the result |
school.assessmentstructure | AsmResults.AspectId | Aspects.Id | Aspect for which the result relates |
school.assessmentstructure | AsmResults.ResultSetId | ResultSets.Id | The specific resultset for which the result was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1289067 | The unique MIS identifier for the result | AssessmentResults |
StudentId | 9919 | Id of the student who owns the result | AssessmentResults |
AspectId | 702 | Id of the aspect for which the result is for | AssessmentResults |
ResultDate | 2015-09-03 | Date the result was achieved | AssessmentResults |
ResultSetId | 24 | Id of the resultset against which the result was recorded | AssessmentResults |
Result | 6C | The value of the result | AssessmentResults |
NumericValue | 24 | The numeric value of the result | AssessmentResults |
Notes | null | Optional notes field | AssessmentResults |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Marksheets required | string <CSV> Csv of MArksheet Ids |
ResultDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
ResultDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "assessmentresults": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Assessment Results By Student
Endpoint Description
Using the information from the school.students, school.groups, and school.assessmentstructure endpoints, request specific result data.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory (*) | Students | Request results for a specific set of students (Comma-separated) |
Mandatory (*) | Groups | Request results for students who are members of specific groups (Comma-separated) |
Optional | ResultDateFrom | Filter to results achieved after this date (inclusive) |
Optional | ResultDateTo | Filter to results achieved before this date (inclusive) |
Optional | CollectionDateFrom | Filter to results where the collection date is after this date (inclusive) |
Optional | CollectionDateTo | Filter to results where the collection date is before this date (inclusive) |
(*) - Either Students or Groups filter must be populated. If both are present, then the filter is additive.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AsmResults.StudentId | Students.Id | Student who has been awarded the result |
school.assessmentstructure | AsmResults.AspectId | Aspects.Id | Aspect for which the result relates |
school.assessmentstructure | AsmResults.ResultSetId | ResultSets.Id | The specific resultset for which the result was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1289067 | The unique MIS identifier for the result | AssessmentResults |
StudentId | 9919 | Id of the student who owns the result | AssessmentResults |
AspectId | 702 | Id of the aspect for which the result is for | AssessmentResults |
ResultDate | 2015-09-03 | Date the result was achieved | AssessmentResults |
ResultSetId | 24 | Id of the resultset against which the result was recorded | AssessmentResults |
Result | 6C | The value of the result | AssessmentResults |
NumericValue | 24 | The numeric value of the result | AssessmentResults |
Notes | null | Optional notes field | AssessmentResults |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Marksheets required | string <CSV> Csv of Student Ids |
ResultDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
ResultDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateFrom required | string <yyyy-MM-dd> yyyy-mm-dd |
CollectionDateTo required | string <yyyy-MM-dd> yyyy-mm-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "assessmentresults": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Assessment Structure
Endpoint Description
The assessment structure endpoint provides you with the components that make up a given school's assessment setup in their MIS. As there can be hundreds of thousands of results stored for a single school, it is important to collect just the specific result information you need. Using the data from this endpoint, you can provide your end user with a choice of which assessment aspects, templates, or marksheets to collect results for, avoiding overload of unnecessary information.
Usage
If your intention is to simply display results for particular assessments in your application, then you likely just need to identify the Aspects that are relevant to the school so you can request only the results that you need. The simplest way to achieve this is for the school to select the Templates (Bulk / Fewer: collections of assessments defined by the school for a particular purpose) or the Aspects (Granular / Many: the individual specific assessments) that they wish to display.
- Example:
- School wishes to display "Target" and "Working At" values for students.
- School selects templates that contain the assessments (Aspects) they require, e.g., "English Assessment Y9", "Maths Assessment Y7".
- Your application then can request Results for the Template IDs selected, and the XporterOnDemand API will return Results for all of the assessments (Aspects) contained in the template.
You may receive multiple Results for each Aspect due to ResultSets defining particular reporting periods. Expected Aspects will relate to "Target" or "Working At," though each school's naming conventions may differ.
Note: Some schools may flip this model and use ResultSets to define things like "Target" and "Working At" for a single Aspect instead of separate Aspects.
By default, this endpoint returns Aspects and ResultSets. By adjusting the options below, you can include more detailed structure information. The assessment structure is included in the School consent scope as it provides organizational and structural information for the establishment.
Options
includeMarkingGrids - Set to enable Templates, MarkSheets, and Columns
includeGradesets - Set to enable GradeSets, Grades, and MarkSets
includeGradesetHistory - Set to enable GradeSetHistory
Parameters
categoryFilter - filter all Result Sets according to an Assessment Category
Related Endpoints
Assessment Endpoint | Related Endpoint Description |
---|---|
school.assessmentresultsbystudent | Request results for specific students |
school.assessmentresultsbyaspect | Request results for specific aspects |
school.assessmentresultsbymarksheet | Request results for specific marksheets |
school.assessmentresults | Advanced endpoint with multiple filtering options |
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.groups | Marksheets.GroupId | Groups.Id | Link to the group definition for a marksheet |
school.staff | Templates.CreatorId | Staff.Id | Link to the member of staff that created the template |
Fields by Scope
Aspects
Aspects are the definition of an assessment and where results relate back to. Aspects are linked to GradeSets and MarkSets, which define the allowed values that can be used when recording results.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 702 | The unique MIS identifier for the aspect | School |
ExternalId | 93 | The defined externalId for the aspect | School |
AspectType | Grade | Definition of the type of result to be associated | School |
Name | English Attainment Level | Name of the aspect | School |
Description | English Attainment Level | Description of the aspect | School |
Supplier | 328 4321 Example School | Name of the establishment that created the aspect | School |
GradeSetId | 204 | Id of the gradeset assigned to this aspect | School |
KS1 | 1 | Is the aspect KS1, 1 or 0 | School |
KS2 | 1 | Is the aspect KS2, 1 or 0 | School |
KS3 | 1 | Is the aspect KS3, 1 or 0 | School |
Templates
Templates are a collection of Columns that define the assessment recording grid used to record results for a particular purpose.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1121 | The unique MIS identifier for the template | School |
Name | English Assessment Y9 | The template name | School |
Notes | Please enter test results by the end of Spring term | Optional contextual information added to the template | School |
CreatorId | 26 | Id of the staff member that created the template | School |
FilterGroupId | 35 | Id of the group the template is filtered by | School |
Marksheets
Marksheets are Templates linked to a specific group to allow data entry by staff in the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5372 | The unique MIS identifier for the marksheet | School |
TemplateId | 1165 | Id of the template used in this marksheet | School |
GroupId | 35 | Id of the group this marksheet is configured for | School |
Columns
Columns are components of Templates. They represent a given Aspect linked to a specific ResultSet. Each column is an Aspect / ResultSet pair.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 13839 | The unique MIS identifier for the column | School |
TemplateId | 1120 | Id of the template this column belongs to | School |
ColumnHeading | English Attainment Lev 2 | The description of the aspect in this template | School |
AspectId | 702 | Id of the aspect where the result is stored | School |
ResultSetId | 31 | Id of the resultset for which this column is linked | School |
DisplayOrder | 7 | Display order of the column in the marksheet | School |
ReadOnly | 0 | Boolean to identify if the result is modifiable | School |
ResultSets
ResultSets define specific reporting periods linked to an Aspect when used in a Template.
- Example: Aspect "Maths Target" linked to ResultSets "Autumn 2017", "Spring 2018", "Summer 2018" allows tracking progress for "Maths Target" across three reporting points.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 31 | The unique MIS identifier for the resultset | School |
ExternalId | 31 | External Id of the resultset | School |
Name | Year 7 Spring Term | Description of the resultset | School |
Supplier | 328 4321 Example School | Name of the establishment that created the resultset | School |
GradeSetHistory
Records the current validity of configured GradeSets. The GradeSet for a given Aspect may change, so historic results may relate to historic GradeSets.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1463 | The unique MIS identifier for the gradesethistory record | School |
StartDate | 2004-09-01 | Date from which this record is valid | School |
EndDate | null | Date after which this record is no longer valid | School |
GradeSetId | 74 | Id of the gradeset this record is linked to | School |
GradeSets
A container for the valid Grades assigned to an Aspect where the AspectType of the Aspect is Grade.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 74 | The unique MIS identifier for the gradeset | School |
Name | Teacher Assessments | Description of the gradeset | School |
Notes | Teacher Assessment Grades | Additional text description for the gradeset | School |
Grades
The definition of valid Grades that can be assigned to a student for an Aspect. The Value property will appear as the Result when querying the school.assessmentresults endpoints.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 832 | The unique MIS identifier for the grade | School |
GradeSetHistoryId | 97 | Id of the gradesethistory record to ensure validity | School |
Description | Working Towards Level 1 | Description of the grade | School |
Value | W | Entry value for the grade | School |
NumericValue | 3.0 | Hidden numeric value for the grade | School |
DisplayOrder | 15 | Order to display the grade in its gradeset | School |
MarkSets
Similar to GradeSets and Grades, but the AspectType is Integer rather than Grade.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 136 | The unique MIS identifier for the markset | School |
AspectId | 770 | Id of the aspect | School |
StartDate | 1990-09-01 | Date from which this record is valid | School |
EndDate | null | Date after which this record is no longer valid | School |
MinValue | 0.00 | Minimum valid value for this record | School |
MaxValue | 100.00 | Maximum valid value for this record | School |
Categories
Assessment Categories are created and assigned by the user in their MIS and associated with Templates or Aspects.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 136 | The unique MIS identifier for the assessment category | School |
categoryName | 136 | The name of the assessment category | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
CategoryFilter | string Optional category name filter |
includeMarkingGrids | boolean Set to enable Templates, MarkSheets and Columns |
includeGradesets | boolean Set to enable GradeSets, Grades, MarkSets |
includeGradesetHistory | boolean Set to enable GradeSetHistory |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Aspects": [
- [
- {
- "Id": "string",
- "ExternalId": "string",
- "AspectType": "string",
- "Name": "string",
- "Description": "string",
- "Supplier": "string",
- "KS1": 0,
- "KS2": 0,
- "KS3": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Templates": [
- [
- { }
]
], - "Marksheets": [
- [
- { }
]
], - "Columns": [
- [
- { }
]
], - "ResultSets": [
- [
- {
- "Id": "string",
- "ExternalId": "string",
- "Name": "string",
- "Supplier": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "GradeSetHistory": [
- [
- { }
]
], - "GradeSets": [
- [
- { }
]
], - "Grades": [
- [
- { }
]
], - "MarkSets": [
- [
- { }
]
], - "Categories": [
- [
- {
- "Id": "string",
- "categoryName": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
AttendanceCodes
Endpoint Description
This endpoint returns the set of attendance mark codes in use at the school. If the data is unavailable from the specific school MIS integration, the endpoint will provide the Department for Education's set of attendance marks and meanings. Typically, this will align with the marks that the school uses, as they are included in statutory returns.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.attendancefordate | AttendCodes.Mark | AttendMarks.Mark | Retrieve lesson and session marks for a specific day |
school.attendancefordaterange | AttendCodes.Mark | AttendMarks.Mark | Retrieve session marks for a date range |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Mark | M | The mark code from the MIS | Attendance |
Description | Medical/Dental appointments | The display description of the mark | Attendance |
MeaningDescription | Authorised Absence | The statistical meaning of the mark | Attendance |
ShortMeaningDescription | Authorised | The short statistical meaning of the mark | Attendance |
PhysicalMeaning | OUT | The physical location meaning of the mark | Attendance |
Active | 1 | Whether the mark is active; boolean but can be null if unsupported | Attendance |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeInactive required | boolean Optionally include inactive records |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "AttendCodes": [
- [
- {
- "Id": "string",
- "Mark": "string",
- "Description": "string",
- "MeaningDescription": "string",
- "ShortMeaningDescription": "string",
- "PhysicalMeaning": "string",
- "Active": 0
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Attendance for Date
Endpoint Description
Retrieves marks for AM / PM session and lesson attendance events for students currently on roll. The cache TTL for this endpoint is 30 minutes—if a request has been made for the same date within the last 30 minutes, the result will be returned from the cache. If it has been more than 30 minutes since the last request for a given date, XporterOnDemand will refresh the cache directly from the MIS.
Options
Available option parameters for this endpoint that globally affect the returned dataset:
excludeNoMarks - Do not include records where no mark has yet been received (Mark = "-")
excludeClosed - Do not include records where the school is closed to students (Mark = "#")
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | date | The date requested for which to return marks. Format "yyyy-mm-dd" |
Optional | id | Make a request for a specific student Id |
Optional | attendanceType | Choose to specifically request session or lesson attendance |
Optional | sessionType | Choose to specifically request AM or PM session attendance |
Types
Definitions of the type fields used by this endpoint:
attendanceType
- L: Lesson Attendance
- S: AM / PM Session Attendance (Required statutory mark)
sessionType
- AM: The morning statutory attendance session
- PM: The afternoon statutory attendance session
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AttendMarks.StudentId | Students.Id | Main endpoint for student-specific details |
school.timetable | AttendMarks.InstanceId | Lessons.PeriodId | Defines the occurrences of lessons and their properties |
school.timetableforstudent | AttendMarks.InstanceId | Returns timetable for a specific student for an optional date range | |
school.timetablestructure | AttendMarks.InstanceId | Returns structure of timetable to supplement school.timetable |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919.2016-08-26.AM | Unique Id of the attendance mark used in the changeSet | |
Date | 2016-08-26 | The date of the attendance mark | Attendance |
InstanceId | 38764 | The unique event instance Id (Useful for lesson attendance) | |
StudentId | 9919 | The Id of the student | Attendance |
Mark | L | The specific mark received | Attendance |
MinsLate | 5 | The number of minutes late when code L is used | |
Notes | Bus was late | Any notes to explain the mark given | Attendance |
Type | S | Attendance type (S for Session, L for Lesson) | Attendance |
Session | AM | The morning or afternoon session | Attendance |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
excludeNoMarks required | boolean Do not include where Mark= "-" in the results |
excludeClosed required | boolean Do not include where Mark= "#" in the results |
date required | string <yyyy-MM-dd> Optional date for attendance data yyyy-MM-dd |
id required | string Optional Student Id |
Optional attendance type required | string Enum: "L" "S" Optional Student Id |
Optional session type required | string Enum: "AM" "PM" Optional Student Id |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "AttendMarks": [
- [
- {
- "Id": "string",
- "Date": "string",
- "InstanceId": "string",
- "StudentId": "string",
- "Type": "string"
}
]
], - "DateRange": [
- [
- {
- "Id": 0,
- "Date": "string",
- "StartDate": "string",
- "StartDateStr": "string",
- "StartDateTime": "string",
- "EndDate": "string",
- "EndDateStr": "string",
- "EndDateTime": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Attendance for Date Range
Endpoint Description
Retrieves marks for AM / PM session attendance events for students currently on roll in a specified date range. The cache TTL for this endpoint is 30 minutes—if a request has been made for the same date range within the last 30 minutes, the result will be returned from the cache. If it has been more than 30 minutes since the last request for a given date, XporterOnDemand will refresh the cache directly from the MIS.
Tip: For date ranges, it is recommended to request Monday to Friday for a week and 1st to the last of the month for a month range. This increases the likelihood of hitting a recent cache refresh, returning data quickly.
Options
Available option parameters for this endpoint that globally affect the returned dataset:
excludeNoMarks - Do not include records where no mark has yet been received (Mark = "-")
excludeClosed - Do not include records where the school is closed to students (Mark = "#")
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | DateFrom | The start date requested for which to return marks. Format "yyyy-mm-dd" |
Mandatory | DateTo | The end date requested for which to return marks. Format "yyyy-mm-dd" |
Optional | id | Make a request for a specific student Id |
Optional | sessionType | Choose to specifically request AM or PM session attendance |
Types
Definitions of the type fields used by this endpoint:
- sessionType
- AM: The morning statutory attendance session
- PM: The afternoon statutory attendance session
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AttendMarks.StudentId | Students.Id | Main endpoint for student-specific details |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919.2016-08-26.AM | Unique Id of the attendance mark used in the changeSet | |
Date | 2016-08-26 | The date of the attendance mark | Attendance |
StudentId | 9919 | The Id of the student | Attendance |
Mark | L | The specific mark received | Attendance |
Type | S | Attendance type (S for Session) | Attendance |
Session | AM | The morning or afternoon session | Attendance |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
excludeNoMarks required | boolean Do not include where Mark= "-" in the results |
includeExternalId required | boolean Include the student externalId column in the resultset |
includeLeavers required | boolean includeLeaversResultse |
forcedownload required | boolean If allowed force download from school |
excludeClosed required | boolean Do not include where Mark= "#" in the results |
date required | string <yyyy-MM-dd> Optional date for attendance data yyyy-MM-dd |
id required | string Optional Student Id |
Optional attendance type required | string Enum: "L" "S" Optional Student Id |
Optional session type required | string Enum: "AM" "PM" Optional Student Id |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "AttendMarks": [
- [
- {
- "Id": "string",
- "Date": "string",
- "InstanceId": "string",
- "StudentId": "string",
- "Type": "string"
}
]
], - "DateRange": [
- [
- {
- "Id": 0,
- "Date": "string",
- "StartDate": "string",
- "StartDateStr": "string",
- "StartDateTime": "string",
- "EndDate": "string",
- "EndDateStr": "string",
- "EndDateTime": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Attendance Summary
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeMinutesLate | boolean Set to include the minutes late resultset |
includeAttendanceNotes | boolean Set to include the attendance notes resultset |
includeStatutoryComments | boolean Set to include the statutory comments resultset |
id required | string Optional Student Id |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "AttendanceSummary": [
- [
- {
- "Id": "string",
- "XID": "string",
- "MIS_ID": "string",
- "IdaasId": "string",
- "AttStatsStartDate": "string",
- "AttStatsEndDate": "string",
- "NumPossMarks": 0,
- "NumPresMarks": 0,
- "NumAEAMarks": 0,
- "NumAuthAbsMarks": 0,
- "NumUnauthAbsMarks": 0,
- "NumMissMarks": 0,
- "NumLateMarks": 0,
- "NumLateBeforeRegMarks": 0,
- "Marks": "string",
- "MarksCsv": "string"
}
]
], - "AttendCodes": [
- [
- {
- "Id": "string",
- "Mark": "string",
- "Description": "string",
- "MeaningDescription": "string",
- "ShortMeaningDescription": "string",
- "PhysicalMeaning": "string",
- "Active": 0
}
]
], - "MinutesLate": [
- [
- { }
]
], - "AttendanceNotes": [
- [
- { }
]
], - "StatutoryComments": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Summary attendance statistics by week for a date range.
Endpoint Description
Retrieve summary attendance statistics by week for a specified date range.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | startDate | Start date of the date range. |
Mandatory | endDate | End date of the date range. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AttStatsByWeek.StudentId | Students.Id | Student record information |
Fields by Scope
AttStatsByWeek
Summary attendance statistics by week for a date range.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 7658.2016-12-26 | Unique composite id of the record | Attendance |
StudentId | 7658 | Id of the student | Attendance |
WeekStartDate | 2016-12-26 | Start date of the week | Attendance |
WeekEndDate | 2017-01-01 | End date of the week | Attendance |
NumUnknownMarks | 0 | Count of unknown marks | Attendance |
MarkIs_PresentAM | 0 | Count of present AM marks | Attendance |
MarkIs_L | 0 | Count of L marks | Attendance |
MarkIs_PresentPM | 0 | Count of present PM marks | Attendance |
MarkIs_W | 0 | Count of W marks | Attendance |
MarkIs_B | 0 | Count of B marks | Attendance |
MarkIs_V | 0 | Count of V marks | Attendance |
MarkIs_J | 0 | Count of J marks | Attendance |
MarkIs_P | 0 | Count of P marks | Attendance |
MarkIs_S | 0 | Count of S marks | Attendance |
MarkIs_T | 0 | Count of T marks | Attendance |
MarkIs_R | 0 | Count of R marks | Attendance |
MarkIs_E | 0 | Count of E marks | Attendance |
MarkIs_C | 0 | Count of C marks | Attendance |
MarkIs_H | 0 | Count of H marks | Attendance |
MarkIs_M | 0 | Count of M marks | Attendance |
MarkIs_I | 0 | Count of I marks | Attendance |
MarkIs_N | 0 | Count of N marks | Attendance |
MarkIs_G | 0 | Count of G marks | Attendance |
MarkIs_O | 0 | Count of O marks | Attendance |
MarkIs_U | 0 | Count of U marks | Attendance |
MarkIs_NoMark | 0 | Count of no marks | Attendance |
NumPossibleMarks | 0 | Count of possible marks for the date range | Attendance |
NumMissingMarks | 0 | Count of missing marks for the date range | Attendance |
NumPresentMarks | 0 | Count of present marks for the date range | Attendance |
NumApprovedEAMarks | 0 | Count of approved educational activity marks | Attendance |
NumAuthAbsMarks | 0 | Count of authorised absence marks for the date range | |
NumUnauthAbsMarks | 0 | Count of unauthorised absence marks for the date range | |
NumLateMarks | 0 | Count of late marks for the date range | Attendance |
NumLateBeforeRegMarks | 0 | Count of late before register marks for the date range |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
startDate required | boolean <yyyy-MM-dd> Date from |
endDate required | boolean <yyyy-MM-dd> Date to |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "AttStatsByWeek": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "WeekStartDate": "string",
- "WeekEndDate": "string",
- "NumUnknownMarks": 0,
- "MarkIs_PresentAM": 0,
- "MarkIs_L": 0,
- "MarkIs_PresentPM": 0,
- "MarkIs_W": 0,
- "MarkIs_B": 0,
- "MarkIs_V": 0,
- "MarkIs_J": 0,
- "MarkIs_P": 0,
- "MarkIs_S": 0,
- "MarkIs_T": 0,
- "MarkIs_R": 0,
- "MarkIs_E": 0,
- "MarkIs_C": 0,
- "MarkIs_H": 0,
- "MarkIs_M": 0,
- "MarkIs_I": 0,
- "MarkIs_N": 0,
- "MarkIs_G": 0,
- "MarkIs_O": 0,
- "MarkIs_U": 0,
- "MarkIs_NoMark": 0,
- "NumPossibleMarks": 0,
- "NumMissingMarks": 0,
- "NumPresentMarks": 0,
- "NumApprovedEAMarks": 0,
- "NumAuthAbsMarks": 0,
- "NumUnauthAbsMarks": 0,
- "NumLateMarks": 0,
- "NumLateBeforeRegMarks": 0
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
HistoricalAttendanceSummary
Retrieve active group definitions where a group has at least one student or staff member. Optionally, include student and staff memberships to the groups.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeMinutesLate | boolean Set to include the minutes late resultset |
includeAttendanceNotes | boolean Set to include the attendance notes resultset |
includeStatutoryComments | boolean Set to include the statutory comments resultset |
SchoolYear required | string <yyyy> Mandatory filter to determine which schoolyear the data is extracted for. Pass the start year of the academic year, e.g. "2023". |
id | string Optional filter to return details for a single student |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "HistoricalAttendanceSummary": [
- [
- {
- "Id": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Attendance Writeback
Endpoint Description
Writeback endpoint to create or update either AM & PM session or lesson attendance marks in the MIS.
Important: Currently, only SIMS MIS is supported for Attendance Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information. Attendance information can be written for multiple students in one POST, but only for a single date at a time. If you attempt to write back information for more than one date, the API will return a validation error and will not attempt to send the information to the MIS. We will validate your writeback POST before we send it to the school to ensure that the information provided contains valid data (student IDs, correct marks, etc.). If there is an error, we will fail the request and provide you an error message detailing the issue.
SIMS Note: All write backs are treated as atomic. If your request passes validation but for some reason does not complete successfully at SIMS, all records contained within the request can be considered to have failed.
- We would consider this a very rare scenario, so if you do encounter this, please let us know so we can assist in troubleshooting the problem.
Session Attendance
Sections & Fields for Writeback Object
Marks - Mandatory
The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day. Valid marks can be found in the school.AttendanceCodes
endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | S | String | Set S for session in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
Session | AM | String | AM or PM session | Yes |
Mark | \ | String | Mark to be written back (escape backslash) | Yes |
Mins | 5 | Integer | Number of minutes late | No |
Notes | Missed the bus | String | Comments for the mark - MAX 500 Character Limit | No |
StatutoryComment | Referral order | String | Statutory comment for marks B, K, and Y7 - MAX 500 Character Limit. Presently only supported for SIMS | Mandatory for codes B, K, and Y7 |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=Attendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will inform XporterOnDemand that you would like us to call you back when the writeback has completed, so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL, which you can open and examine to see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you provided in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False indicating the success or failure of the writeback attempt.
Lesson Attendance
Sections & Fields for Writeback Object
Marks - Mandatory
The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day. Valid marks can be found in the school.AttendanceCodes endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | L | String | Set L for lesson attendance in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
InstanceId | 44905 | String | PeriodId of the lesson from the timetable information | Yes |
Mark | \ | String | Mark to be written back (escape backslash) | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=LessonAttendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False, which determines the success or failure of the writeback attempt.
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "Marks": [
- {
- "StudentId": "12278",
- "MarkType": "S",
- "Date": "2025-03-26",
- "Session": "AM",
- "Mark": "\\"
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Attendance Writeback Async
Endpoint Description
Asynchronous writeback endpoint to create or update AM & PM session and Lesson attendance marks in the MIS. Receive a tracking ID and be called back when the action is completed successfully or has failed.
Important: Currently only SIMS MIS is supported for Attendance Writeback.
Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Info: This endpoint supports both formats for Session and Lesson JSON objects as defined in POST.Attendance and POST.LessonAttendance examples
Attendance information can be written for multiple students in one POST, but only for a single date at a time. If you attempt to write back information for more than one date, the API will return a validation error and will not attempt to send the information to the MIS.
We will validate your writeback POST before we send to the school to ensure that the information provided contains valid information (student Ids, correct marks etc). If there is an error, we will fail the request and provide you an error message detailing the issue.
On submission of your request we respond immediately with a success status to let you know we have queued your request and will issue you with a TrackingId that you can use to match up your writeback request with the call back we will respond with on completion.
Example response:
{
"TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"DataSet": {
"trackingid": [
{
"trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"errorquery": "Writeback.AttendanceAsync_OnError"
}
]
},
"Message": "success",
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
Validation Errors
Writeback requests need to pass a series of validations before they are accepted. This avoids erroneous data being sent to the MIS.
Validation errors will be returned immediately
Validation Error | Description | Action Required |
---|---|---|
Missing mandatory field StudentId | A studentId must be specified for every writeback record | Validate / correct writeback payload |
Attendance writeback is not supported for {MIS} | We detected a writeback attempt for an MIS that does not yet support it | Stop making writeback requests for this school |
Invalid StudentId: {StudentId} | StudentId specified is not a valid on roll StudentId | Validate StudentIds sent in writeback requests to ensure they are all valid on roll students |
InstanceId required for Lesson attendance writeback for StudentId: {StudentId | L was specified for MarkType but no InstanceId was provided | Validate creation of writeback payload to ensure it contains mandatory fields |
Notes field max character limit (500) exceeded for StudentId: {StudentId} | MIS notes field length cannot be exceeded | Ensure that inputs for attendance notes are limited to 500 characters |
Invalid Session provided: {SessionCode} | AM or PM must be provided | Validate creation of writeback payload to ensure it contains mandatory fields |
Invalid Mark provided: {Mark} | The provided mark is not recognised as a valid code | Ensure that attendance codes are valid based on the school.AttendanceCodes endpoint |
Only write back a set of marks for the same date | Attendance must be written back in batches containing data for only a single date | Ensure writeback batches contain only marks for a single date at a time |
School appears to be closed to students on this date | Existing code found for this session that indicates school closed | Attendance cannot be recorded on this date, refresh attendance/timetable data |
Invalid lesson InstanceId provided | We could not find a matching lesson instance Id on the specified date | Validate timetable data to ensure correct instanceId is used |
Handling the N Code: To ensure data saved directly in the MIS is not overwritten by applications using the API, we have special rules for handling its use:
- MIS has no mark or N: Writeback will set N
- MIS has any other mark: Writeback will leave existing mark
SIMS Note: All write backs are treated as atomic. If your request passes validate, but for some reason does not complete successfully at SIMS, all records contained within the request can be considered to have failed.
- We would consider this a very rare scenario so if you do encounter this, please let us know so we can assist in troubleshooting the problem.
Sections & Fields for Writeback Object
####Marks - Mandatory The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day.
Valid marks can be found in the school.AttendanceCodes endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | S | String | Set S for session in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
Session | AM | String | AM or PM session | Yes |
Mark | \\ | String | Mark to be written back (escape backslash) | yes |
Mins | 5 | Integer | Number of minutes late | No |
Notes | Missed the bus | String | Comments for the mark - MAX 500 Character Limit | No |
StatutoryComment | Referral order | String | Statutory comment for marks B, K and Y7 - MAX 500 Character Limit. Presently only supported for SIMS | Mandatory for codes B, K and Y7 |
Callback - Mandatory Section for Async Calls
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this propery | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=Attendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Request Validation
Before a request is sent to the MIS, we carry out a number of validations to ensure that you have made a valid request.
Due to the asynchronous nature of the request we perform the validation in 2 tiers. The first tier validates against information we already have (student/structural), the 2nd tier validates against existing attendance data which we need a valid cache for so may need to make a request to the school before executing the validations.
Tier 1 validation failures will be responded immediately and we will not queue a writeback request.
Tier 2 validations will be performed asynchronously and cause a failed callback (XodCompleted=False) if they do not pass.
Tier 1 Validations
- Invalid StudentId
- InstanceId Required for Lesson Attendance Writeback
- Notes field 500 character limit
- Invalid Session code provided (Not AM or PM)
- Invalid Mark provided
Tier 2 Validations
- School appears to be closed to students on this date
- Invalid lesson InstanceId provided
Async Callback on Completion
Requests using this endpoint must provide a call back object so the API can tell the caller the result of the request.
Writeback requests on using this endpoint will automatically retry the call to the school MIS every 5 minutes for the period of 1 hour if we are unable to connect successfully to the school agent. If we are unable to connect after 1 hour we will respond with XodCompleted=False and an appropriate error message to indicate the communications issue.
The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what a callback response will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the following URL parameters:
- id - Value of the id param passed in the callback object in the original request
- estab - Value of the estab param passed in the callback object in the original request
- trackingid - Value of the TrackingId property in the initial response from the API
- XodCompleted - This will be True the writeback was successfully complete. It will be false if the writeback payload failed validation before sending to the mis. If the writeback payload passed validation but we were unable to write back to the MIS, this will be empty - we will instead provide the ErrorMessage instead.
- ErrorMessage - If we failed to write back to the MIS, this will be populated with the URL encoded error from the MIS. This means that we have already retried the writeback up to 10 times. You can still re-submit the writeback payload as a new writeback post.
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Marks": [
- {
- "StudentId": "12278",
- "MarkType": "S",
- "Date": "2025-03-26",
- "Session": "AM",
- "Mark": "\\"
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{ }
Behaviour for Date Range
Endpoint Description
Retrieve negative behaviour records for a specified date range, with optional filters available to refine the returned dataset.
Options
Available option parameters for this endpoint:
includeStudentIds - Optionally include a CSV of IDs for linked students in the main behaviour result set.
includeStaffIds - Optionally include a CSV of IDs for linked staff in the main behaviour result set.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | DateFrom | The date from which to collect behaviour records. |
Mandatory | DateTo | The end of the date range for which behaviour records are collected. |
Optional | IncidentDate | Retrieve records occurring on a specific date. |
Optional | StudentId | Retrieve records for a specific student. |
Optional | StaffId | Retrieve records where a specific staff member was involved. |
Optional | Id | Retrieve a specific behaviour record. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentConducts.StudentId | Students.Id | Student record information |
school.staff | StaffConducts.StaffId | Staff.Id | Staff record information |
Fields by Scope
Behaviour
Behaviour records returned within the specified date range. Optionally includes CSV of StudentId members for each conduct.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 4000 | Id of the conduct record | Conduct |
ConductId | Beh.4000 | MIS Id of the behaviour record | Conduct |
BehaviourType | Lunchtime Incident | The incident type | Conduct |
Date | 2017-05-10 | Date of the incident | Conduct |
Time | Lunchtime | Name of the time period | Conduct |
Activity | Lunch | Activity type | Conduct |
Status | Unresolved | Current status of the conduct record | Conduct |
Location | Outside School Grounds | Location description for the incident | Conduct |
RecordedBy | Mr A Blacker | Staff member who recorded the incident | Conduct |
Outcome | null | Outcome of the incident | Conduct |
RecordedOn | 2017-05-10 | Date incident was recorded | Conduct |
Description | Graffiti on a wall | Comment on the incident record | Conduct |
Subject | null | Subject the incident relates to | Conduct |
Category | Beh | Defines record type (Ach or Beh) | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | Conduct |
StudentBehaviour
Student membership of returned conduct records, including student-specific information such as Role and Points.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-9919.Beh.4000 | Composite Id for the student membership | Conduct |
StudentId | 9919 | Id of the student | Conduct |
BehaviourId | 4000 | Id of the behaviour record | Conduct |
Points | 10 | Points assigned to this specific student | Conduct |
Outcome | Discussed with Pupil | Outcome for this student regarding the behaviour record | Conduct |
OutcomeCode | DP | Outcome code of the behaviour record | Conduct |
Role | Participant | Role of this student in the behaviour record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
StaffBehaviour
Staff membership of returned conduct records, including staff-specific information such as StaffRole.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PWT-1.Beh.4000 | Composite Id for the staff membership | Conduct |
StaffId | 1 | Id of the staff member | Conduct |
BehaviourId | 4000 | Id of the behaviour record | Conduct |
StaffRole | null | Role of this staff member in the conduct | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStudentIds | boolean Optionally include csv of Ids for linked students |
includeStaffIds | boolean Optionally include csv of Ids for linked staff (Not including RecordedBy) |
DateFrom required | string <yyyy-mm-dd> StartDate |
DateTo required | string <yyyy-mm-dd> EndDate |
IncidentDate | string <yyyy-mm-dd> Optional filter on incident date |
StudentId | string Optional student id |
StaffId | string Optional staff id |
id | string Optional conduct id |
updatedSince | string <yyyy-mm-dd> Filter by LastUpdate greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Behaviour": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Behaviour for Today
Endpoint Description
Retrieve negative behaviour records for today.
Options
Available option parameters for this endpoint:
includeStudentIds - Optionally include a CSV of IDs for linked students in the main behaviour result set.
includeStaffIds - Optionally include a CSV of IDs for linked staff in the main behaviour result set.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | IncidentDate | Retrieve records occurring on a specific date. |
Optional | StudentId | Retrieve records for a specific student. |
Optional | StaffId | Retrieve records where a specific staff member was involved. |
Optional | Id | Retrieve a specific behaviour record. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentConducts.StudentId | Students.Id | Student record information |
school.staff | StaffConducts.StaffId | Staff.Id | Staff record information |
Fields by Scope
Behaviour
Behaviour records returned for today. Optionally includes a CSV of StudentId members for each conduct.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 4000 | Id of the conduct record | Conduct |
ConductId | Beh.4000 | MIS Id of the behaviour record | Conduct |
BehaviourType | Lunchtime Incident | The incident type | Conduct |
Date | 2017-05-10 | Date of the incident | Conduct |
Time | Lunchtime | Name of the time period | Conduct |
Activity | Lunch | Activity type | Conduct |
Status | Unresolved | Current status of the conduct record | Conduct |
Location | Outside School Grounds | Location description for the incident | Conduct |
RecordedBy | Mr A Blacker | Staff member who recorded the incident | Conduct |
Outcome | null | Outcome of the incident | Conduct |
RecordedOn | 2017-05-10 | Date incident was recorded | Conduct |
Description | Graffiti on a wall | Comment on the incident record | Conduct |
Subject | null | Subject the incident relates to | Conduct |
Category | Beh | Defines record type (Ach or Beh) | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | Conduct |
StudentBehaviour
Student membership of returned conduct records, including student-specific information such as Role and Points.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-9919.Beh.4000 | Composite Id for the student membership | Conduct |
StudentId | 9919 | Id of the student | Conduct |
BehaviourId | 4000 | Id of the behaviour record | Conduct |
Points | 10 | Points assigned to this specific student | Conduct |
Outcome | Discussed with Pupil | Outcome for this student regarding the behaviour record | Conduct |
OutcomeCode | DP | Outcome code of the behaviour record | Conduct |
Role | Participant | Role of this student in the behaviour record | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | E1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
StaffBehaviour
Staff membership of returned conduct records, including staff-specific information such as StaffRole.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PWT-1.Beh.4000 | Composite Id for the staff membership | Conduct |
StaffId | 1 | Id of the staff member | Conduct |
BehaviourId | 4000 | Id of the behaviour record | Conduct |
StaffRole | null | Role of this staff member in the conduct | Conduct |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | Conduct |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStudentIds | boolean Optionally include csv of Ids for linked students |
includeStaffIds | boolean Optionally include csv of Ids for linked staff (Not including RecordedBy) |
StudentId | string Optional student id |
StaffId | string Optional staff id |
id | string Optional conduct id |
updatedSince | string <yyyy-mm-dd> Filter by LastUpdate greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Behaviour": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Conduct Writeback
Endpoint Description
Writeback endpoint to create achievement records in the MIS.
Important: Currently only SIMS MIS is supported for Conduct Achievement Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Sections & Fields for Writeback Object
Conducts - Mandatory
The conduct section defines the achievement event itself. The Id column is an internal reference to related records in this specific writeback object. Multiple Conducts can be defined, increment the Id field to identify separate Conduct records. Related objects such as Participants and Staff will need to reference the respective ConductId in those records.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Unique identifier of the conduct record for this writeback data | Yes |
IncidentType | Ach | Text | The type of conduct being written. Must be "Ach" | Yes |
RecordedById | 1 | Integer | Id of the staff member that recorded this event | Yes |
EntryDate | 2017-02-21 (yyyy-MM-dd) | Text | Date that this event occurred | Yes |
TypeId | 4 | Integer | Id of the behaviour type selectable from school.conductlookups ConductTypes.LocalId values | Yes |
ActivityId | 13 | Integer | Id of BehActivity from school.conductlookups ConductLookups.LocalId | No |
Note | Great piece of work | Text | Free text description or comment for event - MAX 500 Character Limit | No |
Participants - Mandatory
The participants section lists the involved students. There can be multiple students associated with a single Conduct - ensure the ConductId for multiple students all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
Points | 10 | Integer | Set the points for the student | Yes |
StudentId | 9919 | Integer | Id of the student | Yes |
OutcomeId | 1 | Integer | Id of the AchOutcome lookup | No |
Staff - Optional
The Staff section lists the involved staff members. It is optional and can be omitted entirely. There can be multiple staff associated with a single Conduct - ensure the ConductId for multiple staff all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
StaffId | 1 | Integer | The Id of the staff member | Yes |
StaffRoleId | 3 | Integer | Id of BehStaffRole from school.conductlookups ConductLookups.LocalId | No |
MediaFiles - Optional
The MediaFiles section allows you to attach media data to a specific conduct incident, it is optional and can be omitted entirely. Multiple media files can be linked with a single Conduct record - you will need to increment the Id property and ensure all MediaFiles intended for the same Conduct record have the correct corresponding ConductId set.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Incremental Id of the MediaFile linked to a specific Conduct record | Yes |
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
MediaDateTime | 2017-04-26T12:00:00 | DateTime | Timestamp for when media was created | Yes |
Description | Example image | Text | Description or comment for media | Yes |
MediaType | png | Text | Media attachment filetype | Yes |
FileName | small_tick.png | Text | Media attachment filename | Yes |
MediaBase64 | iVBORw0KGgo....RK5CYII= | Text | Base64 encoded string of media attachment | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=ConductBeh&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xportertesting.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When an Achievement Conduct is successfully written back, we will also include POST body data with the Id of the event that was created in the MIS so you can reconcile a successful writeback being made. The JSON we will return to you will look similar to the below example:
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The incremental Id of the conduct record that was specified in the JSON you POSTed
ActualId: The MIS Id of the record that was created for that conduct record
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Conduct Writeback Async
Endpoint Description
Writeback endpoint to create conduct records in the MIS using our preferred Async method.
Important: Currently only SIMS and Bromcom MIS are supported for Conduct Writeback.
Important: Please refer to the POST.ConductAch or POST.ConductBeh endpoints for specific information about each type. Both respective payloads can be submitted to this endpoint.
Important: Many MIS have different structures for Conduct data. Please read the relevant information in this document carefully.
Validation Errors
Writeback requests need to pass a series of validations before they are accepted. This avoids erroneous data being sent to the MIS. We will validate your writeback POST before we send to the school to ensure that the information provided contains valid information (student Ids, correct lookupIds etc). If there is an error, we will fail the request and provide you an error message detailing the issue. Validation errors will be returned immediately in response to your request.
Validation Error | Description | Action Required |
---|---|---|
Conduct writeback is not supported for {MIS} | We detected a writeback attempt for an MIS that does not yet support it | Stop making writeback requests for this school |
Invalid StudentId: {StudentID} | StudentId specified is not a valid on roll StudentId | Validate StudentIds sent in writeback requests to ensure they are all valid on roll students |
Deletion of conduct records is not supported for {MIS} | Not all MIS providers support the deletion of conduct records | Stop making deletion requests for this school |
Invalid Student RoleId for StudentId: {StudentId} | The RoleId supplied for the Student is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Invalid StaffId: {StaffID} | StaffId specified is not a valid member of Staff | Validate StaffIds sent in writeback requests to ensure that they are all valid members of staff |
Invalid Staff RoleId for StaffId: {StaffId} | The RoleId supplied for the member of Staff is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Note field max character limit (500) exceeded for Conduct Id: {ConductId} | The Note field is limited to 500 characters in length | Ensure that the Note field in the Conduct payload does not exceed 500 characters |
Invalid IncidentType {IncidentType} should be Ach or Beh | Only two values are valid for the Incident Type. These values are Ach for positive achievements, or Beh for negative behaviours. This field is mandatory. | Ensure you are supplying an IncidentType and that it is valid. |
Invalid TypeId {TypeId} | The TypeId supplied for the Conduct is not a valid TypeId | Validate the TypeId against the data in the ConductLookups endpoint |
Invalid ActivityId {ActivityId} | The ActivityId supplied for the Conduct is not a valid ActivityId | Validate the ActivityId against the data in the ConductLookups endpoint |
Invalid LocationId {LocationId} | The LocationId supplied for the Conduct is not a valid LocationId | Validate the LocationId against the data in the ConductLookups endpoint |
Invalid StatusId {StatusId} | The StatusId supplied for the Conduct is not a valid StatusId | Validate the StatusId against the data in the ConductLookups endpoint |
Mandatory field StatusId missing | The field StatusId is mandatory | Ensure you are supplying a StatusId with each Conduct record |
Invalid RecordedById {RecordedById} | The RecordedById supplied for the Conduct is not a valid RecordedById | Validate the RecordedById against the data in the ConductLookups endpoint |
Invalid BullTypeId {BullTypeId} | The BullTypeId supplied for the Conduct is not a valid BullTypeId | Validate the BullTypeId against the data in the ConductLookups endpoint |
Invalid EntryTimeId {EntryTimeId} | The EntryTimeId supplied for the Conduct is not a valid EntryTimeId | Validate the EntryTimeId against the data in the ConductLookups endpoint |
Invalid Achievement OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for an Achievement | Validate the OutcomeId against the data for Achievements in the ConductLookups endpoint |
Invalid Behaviour OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for a Behaviour | Validate the OutcomeId against the data for Behaviour in the ConductLookups endpoint |
You must provide an UpdateId when trying to remove students from a behaviour record | You have supplied a Conduct payload with negative StudentIds, indicating an intention to remove Students from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove staff from a behaviour record | You have supplied a Conduct payload with negative StaffIds, indicating an intention to remove Staff from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove media from a behaviour record | You have supplied a Conduct payload with negative Ids for Media, indicating an intention to remove Media from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You have assigned the same student to the same conduct more than once | You have linked a Student to the same Conduct multiple times | Ensure you only link a Student once to a single Conduct record |
You have assigned the same staff to the same conduct more than once | You have linked a Staff member to the same Conduct multiple times | Ensure you only link a Staff member once to a single Conduct record |
You have defined the same conduct more than once | You have repeated a Conduct record in your payload, or assigned two Conducts the same Id | Ensure that each Conduct is unique and has a unique Id |
Missing mandatory field TypeId | The field TypeId is mandatory and must be part of a Conduct writeback | Ensure you are always supplying a TypeId |
Response
On submission of your request, we respond immediately with a success status to let you know we have queued your request and will issue you with a TrackingId that you can use to match up your writeback request with the callback we will respond with on completion.
Example response:
{
"TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"DataSet": {
"trackingid": [
{
"trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"errorquery": "Writeback.ConductAsync_OnError"
}
]
},
"Message": "success",
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When a Conduct record is successfully written back, we will include POST body data with an array of results that include the IncidentId and ActualId for each event that was created in the MIS so you can reconcile a successful writeback being made.
The JSON we will return to you will look similar to the below example:
{
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The Id of the conduct record that was specified in the JSON you POSTed to us.
ActualId: The MIS Id of the record that was created for that conduct record.
Depending on how each MIS handles conduct writeback, you may receive a single ActualId for a given IncidentId OR multiple ActualId records for a given IncidentId. Your application should support and understand that it may receive 1 or multiple instances of ActualId links for a conduct record. For this reason, we suggest that the Id (returned as IncidentId) in your writeback request can be uniquely referenced by your own application.
Example 1 (SIMSNET):
- You submit a writeback payload where a Conduct has more than one linked student.
- Xporter will submit the conduct record with related students to SIMSNET.
- Xporter will return you a single ActualId with the associated ConductId you provided, that it has created for the Conduct record in the MIS.
- When you fetch data next time from the API, there will be one Conduct record returned that corresponds to your record that was written back. The conduct will have more than one related student.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "43534"
}
]
}
Example 2 (BROMCOM):
- You submit a writeback payload where a Conduct has 3 linked students.
- Xporter will split the Conduct into one Conduct record per Student to submit to Bromcom.
- Xporter will return you a list of ActualId with the associated ConductId you passed that it has created for each Conduct record in the MIS.
- When you fetch data next time from the API, there will be 3 conduct records that correspond to the ActualId you were returned from your record that was written back. Each conduct will have only one related student.
- You may wish to aggregate these records in your platform for display depending on your use case.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "B78894"
},
{
"IncidentId": 1,
"ActualId": "B78893"
},
{
"IncidentId": 1,
"ActualId": "B78892"
}
]
}
Conduct Feature Support
MIS | Linked Students | Linked Staff | Record Deletion Support |
---|---|---|---|
SIMSNET | One Conduct to Many Students | Multiple Staff Roles Supported | Yes |
Bromcom | One Conduct to One Student | Witness Role Supported only | No |
MIS Specific Notes
Where there are specific features that deviate from default documentation for a given MIS, we will highlight below.
Bromcom
- Mandatory field StatusId in Conduct object is not required
- Media object is not supported
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{- "result": [
- {
- "IncidentId": 1,
- "ActualId": 1811
}
]
}
ExamCandidates
Retrieve Exam Candidates
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional Student ID |
SeasonID | string Optional Season ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "examcandidates": [
- [
- { }
]
], - "ExternalCandidates": [
- [
- {
- "Id": 0,
- "PersonId": "string",
- "CandidateId": "string",
- "UCI": "string"
}
]
], - "ExamSittings": [
- [
- { }
]
], - "ExamArrangements": [
- [
- {
- "Id": 0,
- "studentId": 0,
- "description": "string",
- "ExtraTime": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Exam Entries
Using the information from the school.students and school.examsstructure endpoints, request specific examinations results data.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Students | string <CSV> CSV of student ids |
Seasons | string <CSV> CSV of season ids |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ExamEntries": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "StudentMis_Id": 0,
- "EntryDate": "string",
- "AspectId": 0,
- "ResultsetId": 0,
- "ExamSeasonId": 0,
- "ExamBoardId": 0,
- "ExamLevelId": 0,
- "QanId": 0,
- "SyllabusCodeId": 0,
- "OptionCodeId": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Exam Forecasts
Using the information from the school.students and school.examsstructure endpoints, request specific examinations results data.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Students | string <CSV> CSV of student ids |
Seasons | string <CSV> CSV of season ids |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ForecastResults": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "StudentId": 0,
- "ForecastResult": "string",
- "ForecastDate": "string",
- "AspectId": 0,
- "ResultsetId": 0,
- "ExamSeasonId": 0,
- "ExamBoardId": 0,
- "ExamLevelId": 0,
- "QanId": 0,
- "SyllabusCodeId": 0,
- "OptionCodeId": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Exam Results
Endpoint Description
Using the information from the school.students and school.examsstructure endpoints, request specific examinations results data.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory (*) | Students | Request results for a specific set of students (Comma separated) |
Mandatory (*) | Aspects | Request results for specific aspects (Comma separated) |
Mandatory (*) | Resultsets | Request results for specific resultsets (Comma separated) |
Mandatory (*) | Seasons | Request results for specific seasons (Comma separated) |
Mandatory (*) | Qans | Request results for specific QANs (Comma separated) |
Mandatory (*) | SyllabusCodes | Request results for specific syllabus codes (Comma separated) |
Mandatory (*) | OptionCodes | Request results for specific option codes (Comma separated) |
Optional | ResultDateBetween | Filter to results achieved between these dates (inclusive, pipe separated) |
(*) At least one of Students, Aspects, Resultsets, Seasons, Qans, SyllabusCodes, OptionCodes filter must be populated. If more than one filter is present then the filters are additive.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | ExamsResults.StudentId | Students.Id | Student who has been awarded the result |
school.examsstructure | ExamsResults.AspectId | Aspects.Id | Aspect for which the result relates |
school.examsstructure | ExamsResults.ResultSetId | ResultSets.Id | The specific resultset for which the result was recorded |
school.examsstructure | ExamsResults.QanId | Qans.Id | The specific QAN for which the result was recorded |
school.examsstructure | ExamsResults.SyllabusCodeId | SyllabusCodes.Id | The specific syllabus code for which the result was recorded |
school.examsstructure | ExamsResults.OptionCodeId | OptionCodes.Id | The specific entry option code for which the result was recorded |
school.examsstructure | ExamsResults.ExamBoardId | ExamBoards.Id | The specific exam board for which the result was recorded |
school.examsstructure | ExamsResults.ExamLevelId | ExamLevels.Id | The specific exam level for which the result was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1289067 | The unique identifier for the result | ExamsResults |
Mis_Id | 1289067 | The unique MIS identifier for the result | ExamsResults |
StudentId | 9919 | Id of the student who owns the result | ExamsResults |
Result | 6 | The value of the result | ExamsResults |
ResultDate | 2015-09-03 | Date the result was achieved | ExamsResults |
AspectId | 702 | Id of the aspect for which the result is for | ExamsResults |
ResultSetId | 24 | Id of the resultset against which the result was recorded | ExamsResults |
ExamSeasonId | 12 | Id of the exam season against which the result was recorded | ExamsResults |
QanId | 1245 | Id of the QAN against which the result was recorded | ExamsResults |
SyllabusCodeId | 7443 | Id of the syllabus code against which the result was recorded | ExamsResults |
ExamBoardId | 17 | Id of the exam board against which the result was recorded | ExamsResults |
ExamLevelId | 4 | Id of the exam level against which the result was recorded | ExamsResults |
OptionCodeId | 811 | Id of the option code against which the result was recorded | ExamsResults |
LastUpdated | 2017-01-19T22:03:31.617 | The last time this data was updated | ExamsResults |
RowHash | 87D6ECDB0183B9F77F3AE3F9EB744E345817CA0F | For change comparison | ExamsResults |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Students | string <CSV> CSV of student ids |
Aspects | string <CSV> CSV of aspects |
Resultsets | string <CSV> CSV of Resultsets |
Seasons | string <CSV> CSV of Seasons |
Qans | string <CSV> CSV of Qans |
SyllabusCodes | string <CSV> CSV of SyllabusCodes |
OptionCodes | string <CSV> CSV of OptionCodes |
ResultDateBetween | string <yyyy-MM-dd|yyyy-MM-dd> Filter to results achieved between these dates (inclusive, pipe seperated) |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ExamResults": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "StudentId": 0,
- "Result": "string",
- "ResultDate": "string",
- "AspectId": 0,
- "ResultsetId": 0,
- "ExamSeasonId": 0,
- "QanId": 0,
- "SyllabusCodeId": 0,
- "ExamBoardId": 0,
- "ExamLevelId": 0,
- "OptionCodeId": 0,
- "RowHash": "string",
- "LastUpdated": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Exam Structure
Endpoint Description
The exams structure endpoint provides you with the components that make up a given school's exams setup in their MIS. As there can be hundreds of thousands of results stored for a single school, it is important to collect just the specific result information you need. Using the data from this endpoint, you can provide your end user with a choice of which exam aspects or resultsets to collect results for, meaning you don't overload your platform with unnecessary information. Note that you can use this to link exam results to discount codes using the KS4DiscountCodes and KS5DiscountCodes endpoints.
Usage
If your intention is to simply display results for particular exams in your application, you likely need to identify the Aspects, QANs, Entry Codes, or Syllabus Codes that are relevant to the school so you can request only the results that you need. Alternatively, you could extract results by Exam Season or Resultset. The ExamsStructure is included in the School consent scope as it provides organizational and structural information for the establishment.
Related Endpoints
Assessment Endpoint | Related Endpoint Description |
---|---|
school.examresults | Request results for specific students or by exams structure |
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.examsresults | Aspects.Id | ExamsResults.AspectId | Aspect for which the result relates |
school.examsresults | ResultSets.Id | ExamsResults.ResultSetId | The specific resultset for which the result was recorded |
school.examsresults | Qans.Id | ExamsResults.QanId | The specific QAN for which the result was recorded |
school.examsresults | SyllabusCodes.Id | ExamsResults.SyllabusCodeId | The specific syllabus code for which the result was recorded |
school.examsresults | OptionCodes.Id | ExamsResults.OptionCodeId | The specific entry option code for which the result was recorded |
school.examsresults | ExamBoards.Id | ExamsResults.ExamBoardId | The specific exam board for which the result was recorded |
school.examsresults | ExamLevels.Id | ExamsResults.ExamLevelId | The specific exam level for which the result was recorded |
Fields by Scope
Aspects
Aspects are the definition of an assessment and where results relate back to.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 702 | The unique identifier for the aspect | School |
Mis_Id | 702 | The unique MIS identifier for the aspect | School |
Name | WJEC/GCSE 015002 Result Grade F | Name of the aspect | School |
AspectType | Grade | Definition of the type of result | School |
Resultsets
Resultsets describe a particular period over which the results were recorded. For exams, this is similar to ExamSeasons.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Name | November Exams 2017 | The name of the resultset | School |
GradeSets
A container for the valid Grades assigned to an Aspect where the AspectType is Grade.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 345 | The unique identifier for the gradeset | School |
Mis_Id | 74 | The unique MIS identifier for the gradeset | School |
Name | Teacher Assessments | Description of the gradeset | School |
Notes | Teacher Assessment Grades | Additional text description for the gradeset | School |
GradeSetHistory
Records the current validity of configured GradeSets. The GradeSet for a given Aspect may change, so historic results may relate to historic GradeSets.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 345 | The unique identifier for the gradesethistory record | School |
Id | 1463 | The unique MIS identifier for the gradesethistory record | School |
StartDate | 2004-09-01 | Date from which this record is valid | School |
EndDate | null | Date after which this record is no longer valid | School |
GradeSetId | 74 | Id of the gradeset this record is linked to | School |
Grades
The definition of the valid Grades that can be assigned to a student for an Aspect. The Value property will appear as the Result when querying the school.assessmentresults endpoints.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 657 | The unique identifier for the grade | School |
Id | 832 | The unique MIS identifier for the grade | School |
GradeSetHistoryId | 97 | Id of the gradesethistory record to ensure valid | School |
Description | Working Towards Level 1 | Description of the grade | School |
Value | W | Entry value for the grade | School |
NumericValue | 3.0 | Hidden numeric value for the grade | School |
DisplayOrder | 15 | Order in which to display the grade | School |
MarkSets
Similar to GradeSets and Grades, but where the AspectType is Integer rather than Grade.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 324 | The unique identifier for the markset | School |
Mis_Id | 136 | The unique MIS identifier for the markset | School |
AspectId | 770 | Id of the aspect | School |
StartDate | 1990-09-01 | Date from which this record is valid | School |
EndDate | null | Date after which this record is no longer valid | School |
MinValue | 0.00 | Minimum valid value for this record | School |
MaxValue | 100.00 | Maximum valid value for this record | School |
ExamSeasons
Exam Seasons describe a particular season in which the results were recorded, along with the specific dates of that season.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Name | November Exams 2017 | The name of the exam season | School |
StartDate | 2018-11-01 | The start date of the exam season | School |
EndDate | 2017-11-30 | The end date of the exam season | School |
QANs
The Qualification Accreditation Number or QAN can be used together with the Syllabus Code and the exam date to determine the Discount Code of a result.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the QAN | School |
Mis_Id | 14 | The unique MIS identifier for the QAN | School |
Qan | 50046792 | The QAN itself | School |
SyllabusCodes
Syllabus Codes can be used together with the QAN and the exam date to determine the Discount Code of a result.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Code | 3562 | The syllabus code | School |
OptionCodes
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Code | 1GK0H | The option code | School |
Title | Greek Option H | The title of the option | School |
ExamBoards
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Code | AQA | The code of the exam board | School |
Description | Assessment and Qualifications Alliance | The description of the exam board | School |
ExamLevels
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The unique identifier for the resultset | School |
Mis_Id | 14 | The unique MIS identifier for the resultset | School |
Code | ASB | The level code | School |
Description | GCE Advanced Subsidiary | The level description | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Aspects": [
- [
- {
- "Id": "string",
- "ExternalId": "string",
- "AspectType": "string",
- "Name": "string",
- "Description": "string",
- "Supplier": "string",
- "KS1": 0,
- "KS2": 0,
- "KS3": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Resultsets": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Name": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Gradesets": [
- [
- {
- "Id": 0,
- "Mis_Id": 0,
- "Name": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "GradesetHistories": [
- [
- {
- "Id": 0,
- "Mis_Id": 0,
- "StartDate": "string",
- "GradeSetId": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Grades": [
- [
- { }
]
], - "Marksets": [
- [
- {
- "Id": 0,
- "Mis_Id": 0,
- "AspectId": 0,
- "StartDate": "string",
- "MinValue": "string",
- "MaxValue": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "ExamSeasons": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Name": "string",
- "StartDate": "string",
- "EndDate": "string"
}
]
], - "QANs": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Qan": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "SyllabusCodes": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "OptionCodes": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "Title": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "ExamBoards": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "Description": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "ExamLevels": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "Description": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "ExamSeries": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "Title": "string",
- "SeasonId": 0,
- "BoardId": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Agencies and Agents
Endpoint Description
Retrieves marks for AM / PM session attendance events for students currently on roll in a specified date range.
The cache TTL for this endpoint is 30 minutes - if a request has been made for the same date range within the last 30 minutes, you will instantly be returned the result from the cache. If it has been more than 30 minutes since the last request for a given date, then XporterOnDemand will refresh the cache directly from the MIS.
Tip: For date ranges, we recommend requesting Monday to Friday for a week and 1st to the last of the month for a month range. This will make it likely that you will hit a recent cache refresh and be returned the data swiftly.
Quick Links
- Options
- Filters
- Types
- Related Endpoints
- Fields by Scope
Options
Available option parameters for this endpoint that globally affect the returned dataset:
excludeNoMarks - Do not include records where no mark has yet been received (Mark = "-")
excludeClosed - Do not include records where the school is closed to students (Mark = "#")
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | DateFrom | The date requested for which to return marks. Format "yyyy-mm-dd" |
Mandatory | DateTo | The date requested for which to return marks. Format "yyyy-mm-dd" |
Optional | id | Make a request for a specific student Id |
Optional | sessionType | Choose to specifically request AM or PM session attendance |
Types
Definitions of the type fields used by this endpoint:
sessionType
- AM: The morning statutory attendance session
- PM: The afternoon statutory attendance session
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | AttendMarks.StudentId | Students.Id | Main endpoint for students' specific details |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919.2016-08-26.AM | Unique Id of the attendance mark used in the changeSet | Attendance |
Date | 2016-08-26 | The date of the attendance mark | Attendance |
StudentId | 9919 | The Id of the student | Attendance |
Mark | L | The specific mark received | Attendance |
Typ |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId required | string Optional StudentID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Agency": [
- [
- {
- "Id": "string",
- "AgencyType": "string",
- "AgencyName": "string",
- "HouseName": "string",
- "Street": "string",
- "Town": "string",
- "County": "string",
- "PostCode": "string",
- "Country": "string",
- "AddressBlock": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Agent": [
- [
- {
- "Id": 0,
- "Title": "string",
- "Surname": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "AgencyStudent": [
- [
- {
- "Id": "string",
- "AgencyId": "string",
- "StudentId": 0,
- "AgencyStudentLinkType": "string",
- "AgencyStudentStartDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "AgentStudent": [
- [
- {
- "Id": "string",
- "AgentId": 0,
- "StudentId": 0,
- "AgentStudentLinkType": "string",
- "AgentStudentStartDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "AgencyAgent": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Applications
Get extended details for Applicants and Applications
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeAdmitted required | boolean Optional StudentID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Applications": [
- [
- {
- "Id": 0,
- "ApplicantId": 0,
- "Status": "string",
- "IntakeGroup": "string",
- "ExternalClassesAttendance": 0,
- "AdmissionGroup": "string",
- "AdmissionSeason": "string",
- "AdmissionYear": "string",
- "AdmissionDate": "string",
- "EntryAge": 0,
- "EntryAgeYM": "string",
- "YearGroupName": "string",
- "EnrolmentStatus": "string",
- "VisitsPlanned": 0,
- "VisitsAttended": 0,
- "RowHash": "string",
- "LastUpdated": "string"
}
]
], - "Applicants": [
- [
- {
- "ID": 0,
- "LegalFirstName": "string",
- "LegalSurname": "string",
- "PreferredForename": "string",
- "PreferredSurname": "string",
- "DOB": "string",
- "AgeYM": "string",
- "Age": 0,
- "Gender": "string",
- "ServiceChild": 0
}
]
], - "ApplicantSENProvisions": [
- [
- { }
]
], - "ApplicantSENNeeds": [
- [
- {
- "StudentID": 0,
- "NeedTypeDescription": "string",
- "NeedTypeCode": "string",
- "Rank": 0,
- "StartDate": "string",
- "Active": 0,
- "RowHash": "string",
- "LastUpdated": "string"
}
]
], - "ApplicantMedicalEvents": [
- [
- { }
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
school calendar
Endpoint Description
The school.calendar endpoint returns an event diary/calendar for a school.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | DateFrom | School events starting from this date |
Optional | DateTo | School events ending on this date |
Optional | EventType | Filter to a specific type of school event |
Types
Definitions of the types applicable to events:
EventType
- SchoolEvent: Assembly, Staff Meeting, etc.
- Holiday: School holidays
- StaffTraining: Staff training days
- PublicHoliday: Bank holidays
- HalfTerm: Half term definitions
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 31425 | The MIS Id of the diary event | School |
StartDate | 2017-04-20 | Start date of the event | School |
StartTime | 15:30 | Start time of the event | School |
EndDate | 2017-04-20 | End date of the event | School |
EndTime | 16:30 | End time of the event | School |
Category | Extra Curricular | Event category | School |
Description | School Choir | Event description - typically set to category where null | School |
Type | School Event | Event type | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DateFrom required | string <yyyy-mm-dd> Date from |
DateTo required | string <yyyy-mm-dd> Date to |
EventType | string Enum: "SchoolEvent" "Holiday" "StaffTraining" "PublicHoliday" "HalfTerm" Event type |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "SchoolCalendar": [
- [
- {
- "Id": "string",
- "StartDate": "string",
- "EndDate": "string",
- "Category": "string",
- "Description": "string",
- "Type": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Counts of the number of students, staff, contacts, groups and photos for this school
Endpoint Description
Retrieve total counts of students, contacts, staff, groups, and available photos for active people.
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Area | Students | Area for count | School / SchoolLite |
Count | 1017 | Count of entities | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "counts": [
- [
- {
- "Id": 0,
- "Area": "string",
- "Count": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Funding and Monitoring
Endpoint Description
Retrieve funding and monitoring information.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentFAM.StudentMis_Id | Students.Mis_Id | Student record information |
Fields by Scope
StudentFAM
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the student funding and monitoring record | FundingMonitoring |
StudentMis_Id | 23 | Id of the student | FundingMonitoring |
FAMType | NLM | Type of funding and monitoring | FundingMonitoring |
FAMCode | 01 | Funding and monitoring code | FundingMonitoring |
FAMDescription | Tutoring | Funding and monitoring description | FundingMonitoring |
AcademicYear | 2022 | Academic year | FundingMonitoring |
AutumnHours | 2 | Number of autumn hours | FundingMonitoring |
SpringHours | 2 | Number of spring hours | FundingMonitoring |
SummerHours | 2 | Number of summer hours | FundingMonitoring |
AcademicYearHours | 2 | Number of hours for the academic year | FundingMonitoring |
FAMNotes | Free text notes relating to the funding and monitoring record | FundingMonitoring |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional StudentID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentFAM": [
- [
- {
- "Id": 0,
- "StudentMis_Id": "string",
- "FAMType": "string",
- "FAMCode": "string",
- "FAMDescription": "string",
- "AcademicYear": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "LearnerSupport": [
- [
- {
- "Id": 0,
- "StudentMis_Id": "string",
- "LearnerSupport": "string",
- "Code": "string",
- "AwardDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Group History
Endpoint Description
Retrieve historical group definitions. Optionally, include student and staff memberships to the groups.
Options
- includeStaffMembers - Include staff memberships dataset in output. Includes all staff members of each group.
- includeStudentMembers - Include student memberships dataset in output.
- includeMembersIds - Include csv of Ids of group members (staff and students).
- includeMembersIdaasIds - Include csv of IdaasIds of group members (staff and students).
- includeMembersXIDs - Include csv of XIDs of group members (staff and students).
- includeSubGroups - Include SubGroups resultset.
- includeSubjects - Include GroupsSubjects and Subjects resultsets.
- includeStandardYeargroups - Include lookup for Standard Yeargroups.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Obtain group definition and optionally, members, of a specific group |
Optional | Type | Filter returned dataset to one or more group types. Accepts a csv of group types. |
Optional | Code | Obtain group definition and optionally, members using the group code |
Optional | DateFrom | Filter groups that ended before the from date |
Optional | DateTo | Filter groups that started after the to date |
Types
- YearGrp: Return only pastoral year groups
- RegGrp: Return only pastoral registration (form / tutor) groups
- TeachingGrp: Return only academic teaching groups (classes)
- HouseGrp: Return only pastoral house groups
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentMembers.StudentId | Students.Id | Retrieves details for the student |
school.staff | StaffMembers.StaffId | Staff.Id | Retrieves details for the staff member |
Fields by Scope
Groups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GR-8811 | The unique, Idaas Id of the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS id of the group | School / SchoolLite |
XID | The XID of the group | School / SchoolLite | |
ExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id of the group | School / SchoolLite |
Type | RegGrp | The group type | School / SchoolLite |
Code | 9X1/Fr | The group code | School / SchoolLite |
Name | 9X1/Fr | The group name, often the same as Code | School / SchoolLite |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | School / SchoolLite |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | School / SchoolLite |
StudentXIDs | Student XIDs | School / SchoolLite | |
StaffXIDs | Staff XIDs | School / SchoolLite | |
StudentIds | 9919,9925 | Student MIS Ids | School / SchoolLite |
StaffIds | 10 | Staff MIS Id | School / SchoolLite |
StudentIdaasIds | PL-9919,PL-9925 | Student IDaaS Ids | School / SchoolLite |
StaffIdaasIds | PWT-10 | Staff IDaaS Ids | School / SchoolLite |
StaffMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PWT-25 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The unique Idaas Id for the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS Id for the group | School / SchoolLite |
StaffId | 25 | The MIS Id for the staff member | School / SchoolLite |
StaffRole | Head of Year | Staff role within the group | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StaffIdaasId | PWT-10 | Staff IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the staff membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the staff membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StudentMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PL-9660 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The MIS Id for the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS Id for the group | School / SchoolLite |
StudentId | PL-9660 | The MIS Id for the student | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StudentExternalId | 3ea4efb0-ff91-4c15-a27c-25a7b4982665 | The MIS external Id for the student | School / SchoolLite |
StudentIdaasId | PL-9919 | Student IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the student membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the student membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
SubGroups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811.4665 | A composite Id for the group relationship | School / SchoolLite |
ChildGroupId | 8811 | The MIS Id of the child group | School / SchoolLite |
ParentGroupId | 4665 | The MIS Id of the parent group | School / SchoolLite |
ChildGroupTypeId | 24 | The MIS Id of the child group type | School / SchoolLite |
ParentGroupTypeId | 51 | The MIS Id of the parent group type | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StandardYearGroupLookup dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GY-24 | A unique id for the record | School / SchoolLite |
GroupId | GY-24 | The unique Idaas Id of the child group | School / SchoolLite |
GroupMis_Id | 24 | The MIS id of the yeargroup | School / SchoolLite |
StandardYeargroupCode | 8 | The short yeargroup code. Reception will be R | School / SchoolLite |
StandardYeargroupName | Year 8 | The name of the yeargroup | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStaffMembers | boolean Include staff membership of groups |
includeStudentMembers | boolean Include student membership |
includeMembersIds | boolean Include csv of Ids of group members |
includeMembersIdaasIds | boolean Include csv of IdaasIds of group members |
includeMembersXIDs | boolean Include csv of XIDs of group members |
includeSubGroups | boolean Include SubGroups resultset |
includeSubjects | boolean Include GroupsSubjects and Subjects resultsets |
includeStandardYeargroups | boolean Include lookup for Standard Yeargroups |
id | string optional group id or externalid |
Type | string Filter by type |
Code | string Filter by code |
DateFrom | string <yyyy-MM-dd> Filter groups that ended before date |
DateTo | string <yyyy-MM-dd> Filter groups that ended before date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "GroupHistory": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Groups
Endpoint Description
Retrieve active group definitions where a group has at least one student or staff member. Optionally, include student and staff memberships to the groups.
Options
- includeStaffMembers - Include staff memberships dataset in output. Includes all staff members of each group.
- includeStudentMembers - Include student memberships dataset in output.
- includeMembersIds - Include csv of Ids of group members (staff and students).
- includeMembersIdaasIds - Include csv of IdaasIds of group members (staff and students).
- includeSubjects - Include SubjectLocalId, SubjectCode, SubjectName on the Group result set.
- includeGroupTypes - Include GroupIds on the Group result set and a separate GroupTypes result set.
- includeSubGroups - Include the SubGroups result set.
- includeFutureGroups - Include future groups in the returned resultsets. Should be used with includeStaffMembers and/or includeStudentMembers to obtain start and end dates of future memberships.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Obtain group definition and optionally, members, of a specific group |
Optional | Type | Filter returned dataset to one or more group types. Accepts a csv of group types. |
Optional | Code | Obtain group definition and optionally, members using the group code |
Optional | updatedSince | Filter by last updated date (return records greater than this date) |
Types
- YearGrp: Return only pastoral year groups.
- RegGrp: Return only pastoral registration (form / tutor) groups.
- TeachingGrp: Return only academic teaching groups (classes).
- HouseGrp: Return only pastoral house groups.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentMembers.StudentId | Students.Id | Retrieves details for the student |
school.staff | StaffMembers.StaffId | Staff.Id | Retrieves details for the staff member |
school.timetable | Groups.Id | Lessons.ClassId | Retrieves instances of lessons in the timetable |
school.timetableforstaff | Groups.Id | .ClassId | Retrieves timetable for specific staff member |
school.timetableforstudent | Groups.Id | .ClassId | Retrieves timetable for specific student |
Fields by Scope
Groups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811 | The MIS Id of the group | School / SchoolLite |
ExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id of the group | School / SchoolLite |
IdaasId | GC-8811 | The Idaas Id of the group | School / SchoolLite |
Code | 9X1/Fr | The group code | School / SchoolLite |
Name | 9X1/Fr | The group name, often the same as Code | School / SchoolLite |
PrimaryStaffId | 25 | The MIS Id of the main teacher for this group | School / SchoolLite |
Staff | JXE,RM | MIS StaffCodes for staff members of this group | School / SchoolLite |
NumStudents | 27 | Count of student members | School / SchoolLite |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | School / SchoolLite |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | School / SchoolLite |
TypeId | 2 | The MIS Id of the group | School / SchoolLite |
Type | YearGrp | The group type | School / SchoolLite |
StudentIdaasIds | PL-9919,PL-9925 | Student IDaaS Ids | School / SchoolLite |
StaffIdaasIds | PWT-10 | Staff IDaaS Ids | School / SchoolLite |
StudentIds | 9919,9925 | Student MIS Ids | School / SchoolLite |
StaffIds | 10 | Staff MIS Id | School / SchoolLite |
SubjectLocalId | 111 | MIS Id of the subject | School / SchoolLite |
SubjectCode | Fr | The subject code | School / SchoolLite |
SubjectName | French | The name of the subject | School / SchoolLite |
GroupTypes dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | The MIS Id of the group | School / SchoolLite |
TypeCode | TeachingGrp | Type of group | School / SchoolLite |
TypeDescription | Teaching Group | Description of the group type | School / SchoolLite |
ParentGroupTypeId | 1 | The MIS Id for the parent group for this group | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StaffMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PWT-25 | Unique membership Id | School / SchoolLite |
GroupId | 8811 | The MIS Id for the group | School / SchoolLite |
StaffId | 25 | The MIS Id for the staff member | School / SchoolLite |
StaffRole | Head of Year | Staff role within the group | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StaffExternalId | b7d1b212-4c51-4af4-b7c9-9d7a2ab68530 | The MIS external Id for the staff member | School / SchoolLite |
StaffIdaasId | PWT-10 | Staff IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StudentMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PL-9660 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The MIS Id for the group | School / SchoolLite |
StudentId | PL-9660 | The MIS Id for the student | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StudentExternalId | 3ea4efb0-ff91-4c15-a27c-25a7b4982665 | The MIS external Id for the student | School / SchoolLite |
StudentIdaasId | PL-9919 | Student IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the student membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the student membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
SubGroups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811.4665 | A composite Id for the group relationship | School / SchoolLite |
ChildGroupId | 8811 | The MIS Id of the child group | School / SchoolLite |
ParentGroupId | 4665 | The MIS Id of the parent group | School / SchoolLite |
ChildGroupTypeId | 24 | The MIS Id of the child group type | School / SchoolLite |
ParentGroupTypeId | 51 | The MIS Id of the parent group type | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStaffMembers | boolean Include staff membership of groups |
includeStudentMembers | boolean Include student membership |
includeMembersIds | boolean Include csv of Ids of group members |
includeMembersIdaasIds | boolean Include csv of IdaasIds of group members |
includeMembersXIDs | boolean Include csv of XIDs of group members |
includeSubGroups | boolean Include SubGroups resultset |
includeSubjects | boolean Include GroupsSubjects and Subjects resultsets |
includeStandardYeargroups | boolean Include lookup for Standard Yeargroups |
id | string optional group id or externalid |
Type | string Filter by type |
Code | string Filter by code |
DateFrom | string <yyyy-MM-dd> Filter groups that ended before date |
DateTo | string <yyyy-MM-dd> Filter groups that ended before date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Group": [
- [
- {
- "Id": "string",
- "XID": "string",
- "ExternalId": "string",
- "IdaasId": "string",
- "Type": "string",
- "Code": "string",
- "Name": "string",
- "PrimaryStaffId": "string",
- "Staff": "string",
- "NumStudents": 0,
- "RowHash": "string",
- "LastUpdated": "string",
- "PlatformId": 0
}
]
], - "StaffMembers": [
- [
- { }
]
], - "StudentMembers": [
- [
- { }
]
], - "GroupTypes": [
- [
- { }
]
], - "SubGroups": [
- [
- { }
]
], - "StandardYearGroupLookup": [
- [
- {
- "id": "string",
- "GroupLocalId": "string",
- "GroupMis_Id": "string",
- "StandardYearGroupCode": "string",
- "StandardYearGroupName": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Health
School.Health Endpoint
The School.Health endpoint allows your application to programmatically check the availability of data for a given school from the Xporter on Demand (XoD) API. Key fields returned in this dataset help you provide a real-time status for each school's connection to XoD. You can also check the status of the data for any other request by passing the parameter onlyGetDBStatus=true
.
Data is cached for up to 30 days before purging from our platform. Commonly requested data that is covered by all scopes authorized by a school is automatically cached every night. In cases where data is not successfully returned due to an issue with the school-side agent, the latest cache data will be served. Check the meta
result set available on all endpoints to see when the data behind each endpoint was last updated.
Key Fields
SchoolDataStatus:
- Indicates the cache status of the
XodSchoolData
database that provides information for many common endpoints including Students, Staff, Contacts, and Groups. - Even if there is an issue with the school agent, cached data will be returned for up to 30 days.
- A status of
ok
will be returned during the entire 30-day period while the cache is available. - Use in conjunction with
SchoolDataAgeDays
.
- Indicates the cache status of the
SchoolDataAgeDays:
- Identifies how many days ago the
XodSchoolData
cache was generated.
- Identifies how many days ago the
XodStatus:
- Indicates the overall status of the available data.
Filters
- estab: When authenticated with your App Management Secret, use this filter to check a specific school.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "health": [
- [
- {
- "CommsChecksFailed": "string",
- "CommsChecksPassed": "string",
- "ConsentedScopes": "string",
- "EmergeServerUrl": "string",
- "EmergeVersion": "string",
- "EmergeVersionStatus": "string",
- "EndpointInfoExpires": "string",
- "EndpointInfoLastError": "string",
- "EndpointInfoLastFetched": "string",
- "EndpointInfoStatus": "string",
- "EndpointTestActionsQueueOk": "string",
- "EndpointTestDate": "string",
- "EndpointTestMessage": "string",
- "EndpointTestServiceBusOk": "string",
- "EndpointTestSignalROk": "string",
- "EndpointTestStatus": "string",
- "HasActionsQueue": "string",
- "HasSignalR": "string",
- "LastUpdated": "string",
- "MIS": "string",
- "MachineName": "string",
- "SchoolConnectionCheckLastError": "string",
- "SchoolConnectionCheckStatus": "string",
- "SchoolDataExpires": "string",
- "SchoolDataLastError": "string",
- "SchoolDataLastFetched": "string",
- "SchoolDataAgeDays": 0,
- "SchoolDataStatus": "string",
- "TechContactEmail": "string",
- "TechContactName": "string",
- "TotalPhysicalMemoryGB": "string",
- "Use": "string",
- "UseActionsQueue": "string",
- "UseSignalR": "string",
- "WindowsVersion": "string",
- "XodError": "string",
- "XodStatus": "string",
- "XodVersion": "string",
- "XodVersionStatus": "string",
- "XporterLoginAccount": "string",
- "XporterVersion": "string",
- "XporterVersionStatus": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Interventions
Endpoint Description
The school.studentexclusions endpoint returns temporary and permanent exclusions for current students.
Options
- includeComments: Set to enable the comments field.
- includeAppealInfo: Set to enable the various appeal fields.
- includeLeavers: Set to allow exclusions for leavers.
Filters
Available query parameters for this endpoint:
- Id: Option to filter on Student ID.
- DateFrom: Option to filter on Start Date.
- DateTo: Option to filter on End Date.
- ExclusionType: Option to filter on Type.
- ExclusionReason: Option to filter on Reason.
Fields by Scope
StudentExclusions
StudentExclusions includes the exclusions and its details for the selected students. Note that the Reason field is considered deprecated for some MIS. Where an MIS provides multiple exclusion reasons, the reason fields in the StudentExclusions result set will be null.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2318 | The Id of the exclusion event | StudentExclusions |
StudentId | 9919 | The MIS Id of the excluded student | StudentExclusions |
Forename | Graham | Student forename | StudentExclusions |
Surname | Abbess | Student surname | StudentExclusions |
ExclusionType | Fixed Term | Type of exclusion | StudentExclusions |
ExclusionTypeCode | FIXD | Type of exclusion - code | StudentExclusions |
ExclusionReason | Theft | Reason for exclusion - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionReasonCode | TH | Reason for exclusion - code - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionSessions | 1 | Number of sessions the student is excluded from | StudentExclusions |
StartDate | 2017-05-01 | Exclusion start date | StudentExclusions |
EndDate | 2017-05-01 | Exclusion end date | StudentExclusions |
StartSession | AM | Exclusion start session | StudentExclusions |
EndSession | PM | Exclusion end session | StudentExclusions |
ExclusionDays | 1 | Duration the student is excluded for | StudentExclusions |
Comments | Misbehaviour | Free-text comments regarding this item | StudentExclusions |
DisciplinaryResult | Exclusion Stands | Disciplinary committee result | StudentExclusions |
CommitteeHearingDate | 2017-05-01 | Disciplinary committee date | StudentExclusions |
ParentalRepresentation | 1 | Parents represented on disciplinary committee? (1/0) | StudentExclusions |
CommitteeReinstatementDate | 2017-05-01 | Date if reinstatement recommended | StudentExclusions |
AppealIndicator | 1 | Appeal received? (1/0) | StudentExclusions |
AppealDate | 2017-05-01 | Date of appeal | StudentExclusions |
AppealResult | Result of appeal | StudentExclusions | |
HearingNoticeOfAppealDate | 2017-05-01 | Date of hearing notice of appeal | StudentExclusions |
AppealReinstatementDate | 2017-05-01 | Date of appeal reinstatement | StudentExclusions |
StudentStatus | On Roll | Whether the student is still enrolled | StudentExclusions |
Term | Spring Term | The term of the exclusion | StudentExclusions |
AcademicYear | 2021/2022 | The academic year of the exclusion | StudentExclusions |
AgenciesInvolved | Agencies relating to the exclusion | StudentExclusions | |
LastUpdated | 2017-04-19T14:57:04.144 | The last time this data was updated | StudentExclusions |
RowHash | 9688A8DE75870A9EC0937BD2FADB15A39A31A52E | For change comparison | StudentExclusions |
StudentExclusionReasons
StudentExclusionReasons links exclusions to their reasons where multiple reasons are supported by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
StudentExclusionId | 2318 | The Id of the exclusion event | StudentExclusions |
ReasonId | 14 | The Id of the reason | StudentExclusions |
ExclusionReasons
ExclusionReasons details the reasons where multiple reasons are provided by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The Id of the exclusion reason | StudentExclusions |
ReasonCode | PA | The code of the exclusion reason | StudentExclusions |
ReasonDescription | Physical assault against an adult | The description of the exclusion reason | StudentExclusions |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DateFrom required | string <yyyy> The date from which to collect intervention records |
DateTo required | string <yyyy> The end of the date range for which intervention are collected |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "InterventionOvervews": [
- [
- {
- "Id": "string",
- "OverviewName": "string",
- "Area": "string",
- "Subject": "string",
- "Reason": "string"
}
]
], - "Interventions": [
- [
- {
- "Id": "string",
- "InterventionName": "string",
- "InterventionOverviewId": "string",
- "StartDate": "string",
- "EndDate": "string",
- "PlannedSessions": "string",
- "FixedCosts": "string",
- "StaffCosts": "string",
- "TotalCosts": "string",
- "StudentCosts": "string",
- "StudentCount": "string"
}
]
], - "InterventionStaff": [
- [
- {
- "Id": "string",
- "InterventionId": "string",
- "StaffId": "string",
- "StaffIdaasId": "string"
}
]
], - "InterventionContacts": [
- [
- { }
]
], - "InterventionAgents": [
- [
- {
- "Id": "string",
- "InterventionId": "string",
- "AgentId": "string",
- "AgentIdaasId": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
KS4DiscountCodes
Endpoint Description
Retrieve discount code information for key stage 4.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | Year | Filter the discount codes to a particular year; e.g. 2019 |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.examstructure | DiscountCodes.Qan | QANS.Qan | Match against a QAN in the exams structure, allowing you to determine the discount code for a result. |
school.examstructure | DiscountCodes.SyllabusCode | SyllabusCodes.Code | Match against a syllabus code in the exams structure, allowing you to determine the discount code for a result. |
Fields by Scope
DiscountCodes dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Year | 2019 | The reference year for the discount code | School |
QAN | 50026628 | The QAN that references the discount code | School |
QualificationTitle | Pearson Edexcel Level 3 Advanced Subsidiary GCE in Design and Technology | The qualification title | School |
SyllabusCode | 8FT01 | The syllabus code that references the discount code. Empty if not dependent on the syllabus. | School |
SyllabusTitle | D&T: Product Design | The syllabus title that references the discount code. Empty if not dependent on the syllabus. | School |
DiscountCode | 9080 | The discount code. | School |
DiscountCodeDescription | D&T Product Design | The discount code title. | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Year | string <yyyy> Optional year |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DiscountCodes": [
- [
- {
- "Year": "string",
- "QAN": "string",
- "QualificationTitle": "string",
- "SyllabusCode": "string",
- "SyllabusTitle": "string",
- "DiscountCode": "string",
- "DiscountCodeDescription": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
KS5DiscountCodes
Endpoint Description
Retrieve discount code information for key stage 5.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | Year | Filter the discount codes to a particular year; e.g. 2019 |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.examstructure | DiscountCodes.Qan | QANS.Qan | Match against a QAN in the exams structure, allowing you to determine the discount code for a result. |
school.examstructure | DiscountCodes.SyllabusCode | SyllabusCodes.Code | Match against a syllabus code in the exams structure, allowing you to determine the discount code for a result. |
Fields by Scope
DiscountCodes dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Year | 2019 | The reference year for the discount code | School |
QAN | 50026628 | The QAN that references the discount code | School |
QualificationTitle | Pearson Edexcel Level 3 Advanced Subsidiary GCE in Design and Technology | The qualification title | School |
SyllabusCode | 8FT01 | The syllabus code that references the discount code. Empty if not dependent on the syllabus. | School |
SyllabusTitle | D&T: Product Design | The syllabus title that references the discount code. Empty if not dependent on the syllabus. | School |
DiscountCode | 9080 | The discount code. | School |
DiscountCodeDescription | D&T Product Design | The discount code title. | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Year | string <yyyy> Optional year |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DiscountCodes": [
- [
- {
- "Year": "string",
- "QAN": "string",
- "QualificationTitle": "string",
- "SyllabusCode": "string",
- "SyllabusTitle": "string",
- "DiscountCode": "string",
- "DiscountCodeDescription": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
linkeddocumentmeta
Retrieve linked document meta data
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DocumentAttachmentMeta": [
- [
- {
- "Id": "string",
- "PersonType": "string",
- "PersonMis_Id": "string",
- "PersonLocalId": "string",
- "TypeCode": "string",
- "AttachmentName": "string",
- "LastModified": "string",
- "Confidential": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
LinkedDocuments
Endpoint Description
Retrieves a list of Linked Documents and their Attachments. The Document Type Name is a required parameter and can be retrieved from the LinkedDocumentTypes endpoint. Because the file size of the attachments is potentially large, StudentId, DateFrom, and DateTo are also required parameters. If you require many attachments, please make multiple requests.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | DocumentTypeName | Request linked documents for a single document type. |
Mandatory | StudentIds | Request linked documents for a specific set of students (comma-separated). |
Mandatory | DateFrom | Request linked documents for a specific date range. Highly recommended when there are many documents. |
Mandatory | DateTo | Request linked documents for a specific date range. Highly recommended when there are many documents. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.linkeddocumenttypes | DocumentAttachments.DocumentTypeName | DocumentTypes.DocumentTypeName | Linked document types |
school.students | DocumentAttachments.StudentId | Students.Id | Students |
Fields by Scope
DocumentAttachments
Public documents and their attachments for the chosen document type.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 32 | Id of the linked document | StudentFreeText |
StudentId | 6574 | Id of the associated student | StudentFreeText |
FileName | Photo1.jpg.gz | Name of the file | StudentFreeText |
DocumentTypeName | General Document | The document type name | StudentFreeText |
Size | 65616 | Original size of the attachment (bytes) | StudentFreeText |
CompressedSize | 59833 | Compressed size of the attachment (bytes) | StudentFreeText |
Attachment | The document attachment (binary) | StudentFreeText | |
Summary | Inadequate Work in Class (02/11/2017) | Summary of the document contents | StudentFreeText |
LastModified | 2017-11-23 | Date the document was last modified (yyyy-MM-dd) | StudentFreeText |
Confidential | 1 | Boolean indicating whether the document is confidential | StudentFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DocumentTypeId required | string Mandatory document type id |
StudentIds required | string <CSV> Mandatory CSV of student ids |
DateFrom required | string <yyyy-MM-dd> Mandatory start date |
DateTo required | string <yyyy-MM-dd> Mandatory end date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DocumentAttachments": [
- [
- {
- "Id": "string",
- "StudentId": 0,
- "DocumentTypeName": "string",
- "Size": 0,
- "CompressedSize": 0,
- "Summary": "string",
- "LastModified": "string",
- "Confidential": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
LinkedDocumentTypes
Endpoint Description
Retrieves a list of Document Types. The Document Type Name is a required parameter for the LinkedDocuments endpoint.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.linkeddocuments | DocumentTypes.DocumentTypeName | DocumentAttachments.DocumentTypeName | Linked document attachments |
Fields by Scope
DocumentTypes
All document types available.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 32 | Id of the document type | StudentFreeText |
DocumentTypeName | General Document | The document type name, used as a parameter in LinkedDocuments | StudentFreeText |
Code | GENERAL | The document type code | StudentFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DocumentTypes": [
- [
- {
- "Id": "string",
- "DocumentTypeName": "string",
- "Code": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
LookupMeta
Retrieves a list of Lookup entries. The Lookup Type Name is an optional parameter whose values are found in the school.lookuptypes endpoint.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
LookupType | string Optional filter to a specific type of lookup |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "LookupMeta": [
- [
- {
- "Id": 0,
- "Mis_Id": "string",
- "Code": "string",
- "Description": "string",
- "Type": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
lookuptypes
Retrieves a list of Lookup Types. The Lookup Type Name is an optional parameter for the LookupMeta endpoint.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
LookupType | string Optional filter to a specific type of lookup |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "LookupTypes": [
- [
- {
- "Id": 0,
- "Type": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
payscales
Retrieves a list of pay scales
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "payscales": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
MISEndpointSupport
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
FieldName | string Filter to specific field |
EndpointName | string Filter to specific Endpoint |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "EndpointSupport": [
- [
- {
- "Id": 0,
- "XodEndpoint": "string",
- "ResultSet": "string",
- "EndpointField": "string",
- "DatabaseName": "string",
- "TableName": "string",
- "TableField": "string",
- "ScriptField": "string",
- "SupportStatus": "string",
- "Scope": "string",
- "FieldDescription": "string",
- "FieldExample": "string",
- "FieldScope": "string",
- "MIS": "string",
- "sortid": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
parentalconsents
Endpoint Description
The school.parentalconsents endpoint provides access to parental consent information. The endpoint returns records for students with parental consent information and a lookup table of parental consent descriptions.
Filters
- id - Optional filter to return a single student using their id property.
Fields by Scope
ParentalConsents
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL.99119.2 | The unique ID of the record | ParentalConsents |
StudentMisId | 99119 | The MIS ID of the student | ParentalConsents |
StudentLocalID | PL.12851 | The local ID of the student | ParentalConsents |
ParentalConsentLookupId | 2 | The ID of the corresponding record in the ParentalConsentLookups table | ParentalConsents |
ParentalConsentLookups
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | The ID of the consent record | ParentalConsents |
ConsentDescription | "Data Exchange" | The description of the consent scope provided by the MIS | ParentalConsents |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional student id |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ParentalConsents": [
- [
- {
- "Id": "string",
- "StudentMisId": 0,
- "StudentLocalID": "string",
- "ParentalConsentLookupId": "string"
}
]
], - "ParentalConsentLookups": [
- [
- {
- "Id": "string",
- "ConsentDescription": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
PersonComms
Endpoint Description
Retrieve additional communication methods for students, staff, and contacts. Telephone, email, and mobile details will be included for home and work locations, where available from the MIS.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Specify a particular person id to return records for that person. |
Optional | CommsType | Specify the communication method to retrieve. |
Optional | LocationCode | Specify whether you want home or work details. |
Optional | Priority | Some MIS provide priority for which method to use first; choose that here. |
Optional | IsDefault | Some MIS provide a default communication method to use; filter by this flag (1 or 0). |
Optional | PersonType | Retrieve details for a specific person type. |
Types
CommsType
- E: Email
- T: Telephone
- M: Mobile
LocationCode
- H: Home
- W: Work
- M: Mobile
PersonType
- Student: Filter to additional communication details for students.
- Staff: Filter to additional communication details for staff.
- Contact: Filter to additional communication details for contacts.
Related Endpoints
Based on PersonType in the data returned, you can link to the following tables:
Endpoint | Primary Key | Foreign Key | PersonType | Related Endpoint Description |
---|---|---|---|---|
school.students | PersonComms.PersonId | Students.Id | Student | Student record information |
school.staff | PersonComms.PersonId | Staff.Id | Staff | Staff record information |
school.contacts | PersonComms.PersonId | Contacts.Id | Contact | Contact record information |
Fields by Scope
This endpoint and the data returned are available if your application has access to either the Staff, Student, or Contact scopes, and will provide data appropriate to the scopes you have access to.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PC-10001.13067.T | Crafted unique composite key | Staff / Student / Contact |
PersonId | 10001 | The Id of the person record | Staff / Student / Contact |
PersonType | Contact | The type of the person record | Staff / Student / Contact |
CommsType | T | The type of the comms record | Staff / Student / Contact |
LocationCode | H | The type of the location | Staff / Student / Contact |
Priority | 2 | The importance of the record | Staff / Student / Contact |
IsDefault | 1 | Definition of whether this is the default communication device | Staff / Student / Contact |
Value | 01632211143 | The email or phone number | Staff / Student / Contact |
Notes | null | Any notes relating to the number | Staff / Student / Contact |
LastUpdated | 2017-01-19T22:03:31.617 | The last time this data was updated | Staff / Student / Contact |
RowHash | 87D6ECDB0183B9F77F3AE3F9EB744E345817CA0F | For change comparison | Staff / Student / Contact |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional contact id or student id |
CommsType | string Enum: "E" "T" "M" comms type |
LocationCode | string Enum: "H" "W" "M" Location code |
Priority | string Priority filter |
IsDefault | string Is default filter |
PersonType | string Enum: "Student" "Staff" "Contact" Person type |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "PersonComms": [
- [
- {
- "Id": "string",
- "PersonId": "string",
- "PersonType": "string",
- "CommsType": "string",
- "LocationCode": "string",
- "Priority": 0,
- "IsDefault": 0,
- "Value": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Photos
Endpoint Description
Photos for students and staff. Photos are also available directly on the Student and Staff endpoints by enabling the option to include photos.
Options
option - description
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Specific Id of Student or Staff record |
Optional | PersonType | Filter to Staff or Student |
Types
PersonType
- Student: Filter down to student records only.
- Staff: Filter down to staff records only.
Related Endpoints
Important: Remember to specify the PersonType when linking to either Students or Staff endpoints to avoid overlapping Ids.
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
School.Students | Photos.PersonId | Students.Id | Student record information |
School.Staff | Photos.PersonId | Staff.Id | Staff record information |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the photo | Photos |
PersonId | 1 | Id of the person | Photos |
PersonType | Staff | The type of person record | Photos |
PersonName | Mr A Blacker | The display name of the person | Photos |
Photo | /9j/4AAQSkZJR...UVoiWf/2Q== | Base64 encoded image | Photos |
LastUpdated | 2017-01-19T22:03:31.617 | The last time this data was updated | Photos |
RowHash | 87D6ECDB0183B9F77F3AE3F9EB744E345817CA0F | For change comparison | Photos |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional person id student or staff |
PersonType | string Enum: "Student" "Staff" Person type |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Photos": [
- [
- {
- "Id": "string",
- "PersonId": "string",
- "XID": "string",
- "PersonType": "string",
- "PersonName": "string",
- "Photo": "string",
- "RowHash": "string",
- "LastUpdated": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Retrieval of SchoolInfo
Endpoint Description
Retrieve information about the school establishment including contact and address details where available from the MIS.
Quick Links
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Record Id of the school (always 1) | School / SchoolLite |
Name | Aisley Secondary | The name of the school | School / SchoolLite |
Head | Adrian Blacker | The name of the head teacher | School / SchoolLite |
MainContact | Mr Adrian Blacker | Full title of the head teacher | School / SchoolLite |
Telephone | 0208851234 | School telephone number | School / SchoolLite |
Web | www.aisleyschool.com | School website address | School / SchoolLite |
office@aisleyschool.com | School email address | School / SchoolLite | |
DeniNo | 328SSCO4321 | (Northern Ireland Specific) | School / SchoolLite |
Governance | Community | Type of school governance | School / SchoolLite |
Phase | Secondary | Type of school phase | School / SchoolLite |
ExamCentre | 12348 | School exam centre number | School / SchoolLite |
Address | School Road, Eduville, London | School address | School / SchoolLite |
EstabId | 3285502 | The DfE establishment code for the school | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeSites | boolean Additional result set with site information |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "SchoolInfo": [
- [
- {
- "Id": "string",
- "Name": "string",
- "Head": "string",
- "MainContact": "string",
- "Telephone": "string",
- "Email": "string",
- "DeniNo": "string",
- "Governance": "string",
- "Phase": "string",
- "GenderMix": "string",
- "GenderMixCode": "string",
- "ExamCentre": "string",
- "Address": "string",
- "EstabId": "string",
- "CurrentAcademicYear": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "Sites": [
- [
- {
- "Id": 0,
- "Rank": "string",
- "Name": "string",
- "Email": "string",
- "Phone": "string",
- "PrimaryContact": "string",
- "RowHash": "string",
- "LastUpdated": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Retrieval of scope fields
Retrieval of scope fields
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Scope | string Show fields accessible with this scope |
APIEndpoint | string Show all fields in an endpoint |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ScopeFieldDictionary": [
- [
- {
- "Id": 0,
- "Endpoint": "string",
- "EndpointScope": "string",
- "FieldScope": "string",
- "EndpointTable": "string",
- "EndpointField": "string",
- "Scope": "string",
- "HasFieldFilter": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Fetch seating plans for a group
Fetch seating plans for a group
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
GroupId | string Optional GroupID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "SeatingPlan": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Tags
Tags
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Tags": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
testerror
Returns an error for testing purposes
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string"
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
User Defined Fields
Endpoint Description
Retrieve a list of available User Defined fields. Use UDFName values from this endpoint with school.StudentUserDefinedFields
to retrieve the values for students.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.studentuserdefinedfields | UDFs.UDFName | StudentUDFs.UDFName | Student UDF values |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
UDFType | Student | UDF person type | StudentFreeText |
UDFName | Locker Number | Name of UDF | StudentFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "UDFs": [
- [
- {
- "UDFType": "string",
- "UDFName": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Validation Errors
Validation errors
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ValidationErrors": [
- [
- {
- "Id": 0,
- "EntityId": "string",
- "EntityType": "string",
- "EntityCategory": "string",
- "EntityError": "string",
- "LogDateTime": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
XIDs
XIDs
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "XIDs": [
- [
- {
- "School": "string",
- "Area": "string",
- "MIS_ID": "string",
- "XID": "string",
- "IdaasId": "string",
- "Prefix": "string",
- "Name": "string",
- "OtherID": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Conduct Lookups
Endpoint Description
Collection of lookup IDs for use with the POST.ConductAch and POST.ConductBeh writeback endpoints for creating conduct events in the MIS.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | conductType | Pass Ach or Beh to collect lookups for Achievement or Behaviour |
Types
Definitions of the conduct types:
conductType
- Ach: Filter to Achievement lookups only
- Beh: Filter to Behaviour lookups only
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
POST.ConductAch | ConductTypes.LocalId | Conducts.TypeId | Defines the event type |
POST.ConductBeh | ConductTypes.LocalId | Conducts.TypeId | Defines the event type |
Lookup Mapping
LookupType | Ach / Beh | Lookup Id | Writeback Parameter |
---|---|---|---|
AchActivity | Ach | ConductLookups.LocalId | Conducts.ActivityId |
BehActivity | Beh | ConductLookups.LocalId | Conducts.ActivityId |
BehBullMode | Beh | ConductLookups.LocalId | Conducts.BullTypeId |
BehLocation | Beh | ConductLookups.LocalId | Conducts.LocationId |
BehStatus | Beh | ConductLookups.LocalId | Conducts.StatusId |
BehStuRole | Beh | ConductLookups.LocalId | Participants.RoleId |
StfRole | Ach | ConductLookups.LocalId | Staff.StaffRoleId |
StfRole | Beh | ConductLookups.LocalId | Staff.StaffRoleId |
Fields by Scope
ConductTypes
Definitions of the available conduct types for behaviour and achievement for use with the conduct writeback endpoints.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | Beh.7 | CompositeId of lookup | Conduct |
Type | Beh | Conduct type | Conduct |
LocalId | 7 | Id of the lookup for use with writeback endpoints | Conduct |
Description | Assault | Description of lookup | Conduct |
Points | 50 | Default points for lookup from MIS | Conduct |
SubTypeLookup | BehBullMode | Pointer to Bullying subtypes in Lookups result set | Conduct |
DisplayOrder | 2 | List order from MIS | Conduct |
LastUpdated | 2017-01-19T22:03:31.617 | The last time this data was updated | Conduct |
RowHash | 87D6ECDB0183B9F77F3AE3F9EB744E345817CA0F | For change comparison | Conduct |
ConductLookups
Definitions of the various lookups for behaviour and achievement for use with the conduct writeback endpoints.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | BehStuRole.1 | CompositeId of lookup | Conduct |
LookupType | BehStuRole | Lookup type | Conduct |
LocalId | 1 | Id of the lookup for use with writeback endpoints | Conduct |
Code | PT | Short code from MIS for lookup | Conduct |
Description | Participant | Description of lookup | Conduct |
DisplayOrder | 1 | List order from MIS | Conduct |
LastUpdated | 2017-01-19T22:03:31.617 | The last time this data was updated | Conduct |
RowHash | 87D6ECDB0183B9F77F3AE3F9EB744E345817CA0F | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeInactive | boolean option to include inactive lookups |
conductType | string Enum: "Ach" "Beh" Conduct type |
updatedSince required | string <yyyy-mm-dd> Filter by LastUpdated greater than |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ConductTypes": [
- [
- {
- "Id": "string",
- "Type": "string",
- "LocalId": 0,
- "Description": "string",
- "Points": 0,
- "SubTypeLookup": "string",
- "DisplayOrder": 0,
- "Active": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "ConductLookups": [
- [
- {
- "Id": "string",
- "LookupType": "string",
- "LocalId": 0,
- "Code": "string",
- "Description": "string",
- "DisplayOrder": 0,
- "Active": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Conduct Points
Endpoint Description
Fetch the currently accumulated positive and negative conduct points for students. Counts of detentions, interventions, and report cards are also provided where available.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Query for a specific student's aggregated conduct points |
Optional | updatedSince | Query for records updated since this date |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
School.Students | ConductPoints.Id | Students.Id | Student record information |
ConductPoints Fields
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919 | ID of the student record | Conduct |
TotalAchievementPoints | 1232 | Total achievement points this academic year | Conduct |
TotalAchievementIncidents | 65 | Total achievement incidents this academic year | Conduct |
TotalBehaviourPoints | 567 | Total behaviour points this academic year | Conduct |
TotalBehaviourIncidents | 23 | Total behaviour incidents this academic year | Conduct |
TotalConductPoints | 665 | Overall conduct points this academic year (Ach - Beh) | Conduct |
TotalConductIncidents | 77 | Total conduct incidents this academic year (Ach Incidents + Beh Incidents) | Conduct |
NumberOfDetentions | 1 | Total detentions this academic year | Conduct |
NumberOfInterventions | 0 | Total interventions this academic year | Conduct |
NumberOfReportCards | 2 | Total report cards this academic year | Conduct |
LastUpdated | 2016-07-21T12:17:16.74 | The last time this data was updated | Conduct |
RowHash | 05BA1E3777DC654DCAA81F1083EFF939CCEBFE06 | For change comparison | Conduct |
WeeklyStats Fields
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919 | ID of the student record | Conduct |
WeeklyAchievementEvents | 3 | The number of achievements from the start of the week until today | Conduct |
WeeklyAchievementPoints | 50 | The number of achievement points from the start of the week until today | Conduct |
WeeklyBehaviourIncidents | 2 | The number of behaviour incidents from the start of the week until today | Conduct |
WeeklyBehaviourPoints | 15 | The number of behaviour points from the start of the week until today | Conduct |
WeeklyDetentionsTotal | 1 | The number of detentions for this entire week | Conduct |
WeeklyDetentionsFuture | 1 | The number of detentions from today until the end of the week | Conduct |
WeekInterventions | 2 | The number of interventions from the start of the week until today | Conduct |
LastUpdated | 2016-07-21T12:17:16.74 | The last time this data was updated | Conduct |
RowHash | 05BA1E3777DC654DCAA81F1083EFF939CCEBFE06 | For change comparison | Conduct |
TermlyStats Fields
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919 | ID of the student record | Conduct |
TermAchievementEvents | 15 | The number of achievement events for terms in this academic year | Conduct |
TermAchievementPoints | 200 | The number of achievement points for terms in this academic year | Conduct |
TermBehaviourIncidents | 5 | The number of behaviour incidents for terms in this academic year | Conduct |
TermBehaviourPoints | 150 | The number of behaviour points for terms in this academic year | Conduct |
TermDetentions | 7 | The number of detentions for terms in this academic year | Conduct |
TermInterventions | 2 | The number of interventions for terms in this academic year | Conduct |
LastUpdated | 2016-07-21T12:17:16.74 | The last time this data was updated | Conduct |
RowHash | 05BA1E3777DC654DCAA81F1083EFF939CCEBFE06 | For change comparison | Conduct |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeWeeklyStats | boolean Optionally include stats for the current week |
includeTermlyStats | boolean Optionally include stats by term |
id | string Optional student id |
SchoolYear | string Optional school year |
updatedSince | string <yyyy-mm-dd> Filter by LastUpdated greater than |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ConductTypes": [
- [
- {
- "Id": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Fetch a list of students
Endpoint Description
The school.students endpoint provides access to common core and extended student details. The endpoint returns records for those students currently on roll at the school from whom you are requesting data.
Options
- includePhotos: Set to enable the staff photo column in the result set.
- includeAttStats: Set to include aggregated session attendance stats.
- includeAttMarkString: Set to include packed attendance mark string with start and end dates.
- includeGroupIds: Set to include CSV of GroupIds the student belongs to.
- includeGroupIdaasIds: Set to include CSV of Idaas GroupIds the student belongs to.
- includeSiblingsList: Set to include StudentSiblingIds column in the Students result set.
- includeSiblingsResultset: Set to include data in additional Siblings Resultset.
- includeLeavers: Set to include Leavers result set. Leavers included from current and previous academic year.
- includePreAdmissions: Set to include PreAdmissions result set. Students with a future start date and pre-admissions with Accepted status included.
- includeSubsidiary: Include students with Subsidiary Enrolment.
- includeGuests: Include students with enrolment status "G".
- includeComms: Include student home email, home telephone, mobile telephone.
Filters
Available query parameters to refine the dataset returned by this endpoint:
- id: Optional filter to return a single student using their ID property.
- yearGroupId: Optional filter to return students from a specific Year Group.
- studentStatus: Optional filter to return students from a specific roll status (OnRoll, PreAdmission, Leaver).
- updatedSince: Optional filter to return records that have been updated since this value.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.studentcontacts | students.Id | studentcontacts.StudentId | Link to the relationship between a student and their contact. Links against school.contacts |
school.personcomms | students.Id | personcomms.PersonId | Link to contact methods including telephone, mobile and email |
school.photos | students.Id | photos.PersonId | Link to photos endpoint. Collect photos directly in the students endpoint with the includePhotos option |
school.groups | students.Id | studentmembers.StudentId | Link to the active group memberships that can be linked back to the group object |
school.timetableforstudent | student.Id | N/A | Obtain the timetable for a specific student using student.Id |
school.conductfortoday | student.Id | studentconducts.StudentId | Link to the conduct participants subtable |
school.conductfordaterange | student.Id | studentconducts.StudentId | Link to the conduct participants subtable |
school.attendancefordate | student.Id | attendance.StudentId | Link to session and lesson attendance marks for a specific date |
school.attendancefordaterange | student.Id | attendance.StudentId | Link to session attendance marks for a given date range |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919 | The MIS Id of the student | Student / StudentLite |
ExternalId | a925c7eb-86bc-40d7-91fd-f3fcbf6a2f2b | The MIS External Id of the student | Student / StudentLite |
IdaasId | PL-9919 | The Idaas Id of the student | Student / StudentLite |
Forename | Graham | Student preferred forename | Student / StudentLite |
Surname | Abbess | Student preferred surname | Student / StudentLite |
DisplayName | Graham Abbess | Student full name | Student / StudentLite |
Gender | M | Student gender | Student / StudentLite |
RegGroupId | 393 | The MIS Id of the student's reg group | Student / StudentLite |
RegGroup | 8B | The student's reg group name | Student / StudentLite |
YearGroupId | 36 | The MIS Id of the student's year group | Student / StudentLite |
YearGroup | Year 8 | The student's year group name | Student / StudentLite |
StandardYearGroupCode | 8 | The student's year group code | Student / StudentLite |
StandardYearGroupName | Year 8 | The student's year group name | Student / StudentLite |
HouseGroupId | 40 | The MIS Id of the student's house group | Student / StudentLite |
HouseGroup | Boyle | The student's house group name | Student / StudentLite |
WorkEmail | test@work.net | Email address set as Work Email from MIS | Student / StudentLite |
IdaasEmail | test@work.net | Email address provisioned by Idaas, if available | Student / StudentLite |
HomeEmail | test@home.net | The student's home email address | StudentExtended |
HomePhone | 1234 5560123 | The student's home telephone number | StudentExtended |
MobilePhone | 1234 5560123 | The student's mobile telephone number | StudentExtended |
AdmissionNo | 004367 | The student admission number | Student |
DateOfBirth | 2001-12-10 | The student's date of birth | StudentExtended |
UniqueLearnerNumber | 1111175267 | The student's ULN | StudentExtended |
LegalForename | Graham | The student's legal forename | StudentExtended |
LegalSurname | Abbess | The student's legal surname | StudentExtended |
PreviousLegalSurname | Smith | The student's previous legal surname | StudentExtended |
EntryDate | 2014-09-03 | The enrolment date of the student | StudentExtended |
LeavingDate | 2016-06-14 | The leaving date of the student | StudentExtended |
Destination | External FE Provider | The destination for the student | StudentExtended |
DestinationStartDate | 2016-06-14 | The expected start date at the destination | StudentExtended |
ReasonForLeaving | End of phase transfer - FE/6th form college | The reason for leaving | StudentExtended |
MiddleName | David | The student's middle name | StudentExtended |
EnrolmentStatus | C | The student's current enrolment status code | Student / StudentLite |
Boarder | 1 | Whether the student is a boarder, boolean | StudentExtended |
BoardingHouse | Boarding House A | The student's boarding house | StudentExtended |
SENProvision | E | The student's current SEN Provision | SEN / SENTypes |
EAL | 0 | Flag defining if student has EAL | StudentDemographic / StudentFunding |
ReligionCode | CH | Religion short code | StudentDemographic |
Religion | Christian | Religion description | StudentDemographic |
EthnicityCode | WENG | Ethnicity short code | StudentEthnicity |
Ethnicity | White - English | Ethnicity description | StudentEthnicity |
EthnicitySource | P | Ethnicity source code | StudentEthnicity |
HomeLanguage | English | Home language description | StudentDemographic |
HomeLanguageCode | ENG | Home language code | StudentDemographic |
FirstLanguage | English | First language description | StudentDemographic |
FirstLanguageCode | ENG | First language code | StudentDemographic |
FirstLanguageSource | P | First language source code | StudentDemographic |
EnglishProficiencyLevel | New To English | The English proficiency level of the student | StudentDemographic |
EnglishProficiencyLevelCode | A | The English proficiency level code of the student | StudentDemographic |
NationalIdentity | English | Nationality identity | StudentDemographic |
Nationality | GBR | Nationality | StudentDemographic |
CountryOfBirth | France | The country the student was born in | StudentDemographic / StudentEthnicity |
CountryOfBirthCode | FR | The code of the country the student was born in | StudentDemographic / StudentEthnicity |
AsylumStatus | Asylum Seeker | Asylum status | StudentDemographic |
OnReport | 1 | Student has behaviour report card | StudentExtended |
PostCode | MK10 0BA | The student's home post code | StudentDemographic |
ModeOfTravel | Car | Student's mode of travel to school | StudentDemographic |
StdModeOfTravel | WLK | Student's mode of travel to school standardized to a 3 digit code | StudentDemographic |
IsTraveller | 0 | Student is marked as being a traveller | StudentDemographic |
TravellerSource | Student | Source of traveller status | StudentDemographic |
TravellerType | [TBA] | Type of traveller | StudentDemographic |
FsmEligible | 1 | Flag defining if student is eligible for free school meals. This field can be null indicating we don't know if true or false | StudentFunding |
FsmStartDate | 2017-02-01 | Start date for the current FSM entitlement | StudentFunding |
FsmEndDate | 2017-05-01 | End date for the current FSM entitlement | StudentFunding |
UniformAllowance | 0 | Flag defining if student is eligible for uniform allowance | StudentFunding |
PupilPremium | 1 | Flag defining if student is eligible for pupil premium | StudentFunding |
YSSA | Obtained | Youth service support association status | StudentFunding |
EAL | 0 | Flag defining if student has EAL | StudentFunding |
FSMEver6 | 1 | Student has been eligible in last 6 years for FSM | StudentFunding |
Gifted | 0 | Student is marked as gifted and talented | StudentFunding |
Disabled | 0 | Student is flagged as disabled | StudentMedical |
InLeaCare | 1 | Student marked as in LEA care (sensitive) | StudentFamily |
LeaCareAuthority | 881 | Local Authority code for responsible LEA (sensitive) | StudentFamily |
EverInCare | 1 | Whether the student has ever been in care, boolean | StudentFamily |
ServiceChild | 0 | Student is marked as a service child (sensitive) | StudentFamily |
ServiceChildSource | Student | Source of the service child status | StudentFamily |
IsYoungCarer | 0 | Student marked as young carer (sensitive) | StudentFamily |
UPN | A01937632542 | Student's Unique Pupil Number. In Ireland, this field will be populated with the PPS number. | UPN |
FormerUPN | D439209583385 | Student's former unique pupil number if available | UPN |
CandidateNo | 56373574 | Student's unique candidate number | Student / StudentExtended |
ParentalSalutation | Mrs Hilda Abbess | Parental mailing title | Address |
AddressBlock | 22 Winch Road\nKingston\nDerby\nD12 0BA\nUK | The student's full address | Address |
HouseNo | 22 | The number of the addressed building | Address |
HouseName | Ridge View | The name of the addressed building | Address |
Apartment | null | The number of the sub dwelling of the addressed building | Address |
Street | Winch Road | The name of the street | Address |
District | Kingston | The name of the local district or area | Address |
TownOrCity | Derby | The name of the major town or city | Address |
County | Bedfordshire | The name of the county | Address |
PostCode | D12 0BA | The post code of the address | Address |
Country | United Kingdom | The residing country for the address | Address |
StudentStatus | OnRoll | The current student status | Student |
PartTime | 1 | Whether the student is part-time | StudentFunding |
AttStatsStartDate | 2016-09-01 | The date from which stats are generated | Attendance |
AttStatsEndDate | 2017-01-19 | The date until stats are generated | Attendance |
NumPossMarks | 202 | Number of possible attendable sessions | Attendance |
NumPresMarks | 42 | Number of sessions where the student was present | Attendance |
NumAEAMarks | 0 | Number of approved educational absences | Attendance |
NumAuthAbsMarks | 3 | Number of authorized absences | Attendance |
NumUnauthAbsMarks | 0 | Number of unauthorised absences | Attendance |
NumMissMarks | 57 | Number of marks not completed in the MIS | Attendance |
NumLateMarks | 0 | Number of marks for lateness | Attendance |
NumLateBeforeRegMarks | 1 | Number of marks for late where registration still active | Attendance |
AttMarksStartDate | 2017-09-01 | Start date of the mark string | Attendance |
AttMarksEndDate | 2018-04-04 | End date of the mark string | Attendance |
Marks | /\/\/\####/\/\/\/\/\#### | Packed mark string, two session marks per day, starting from AttMarksStartDate. PM mark is escaped \ for JSON compatibility | Attendance |
YearTaughtIn | 10 | Year group the student is taught in | Student |
NCYear | 10 | The national curriculum year group of the student | Student |
KeyStage | Key Stage 4 | The key stage of the student | Student |
QuickNote | Student often badly behaved on a Monday | Free text field providing contextual information | StudentFreeText |
GroupIds | 9576,9543,9555,9521 | CSV of groupIds the student belongs to | School |
GroupIdaasIds | GC-9576,GC-9543,GC-9555,GC-9521 | CSV of Idaas GroupIds the student belongs to | School |
StudentSiblingIds | 8440,9465 | CSV list of siblings enabled by option includeSiblingsList | Student / StudentLite |
LeavingYearGroup | 34 | Id of the year group at time of leaving | Student |
LeavingRegGroup | 52 | Id of the reg group at time of leaving | Student |
PreAdmissionYearGroup | 33 | Id of the expected year group | Student |
PreAdmissionRegGroup | 89 | Id of the expected reg group | Student |
LastUpdated | 2016-07-22T13:51:54.799 | The last time this data was updated | Student / StudentLite |
RowHash | 7B5614EBF6AA72362817797CA4CDBC841A7B2156 | For change comparison | Student / StudentLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
updatedSince | string <yyyy-MM-dd> Filter where last updated greater than date |
yearGroupId | boolean Filter by specific year group ID obtained from groups endpoint |
studentStatus | string Enum: "Onroll" "Leaver" "Preadmission" Filter by student status |
includePhotos | boolean enable the student photo column in the result set |
includeGroupIds | boolean Set to include GroupIds column |
includeGroupIdaasIds | boolean include GroupIdaasIds column |
includeParentIdaasIds | boolean Set to include ParentIdaasIds column |
includeParentXIDs | boolean include ParentXIDs column |
includeAttStats | boolean include includeAttStats column |
includeAttMarkString | boolean include includeAttMarkString column |
includeSiblingsList | boolean include includeSiblingsList column |
includeSiblingsResultset | boolean include includeSiblingsResultset column |
includeLeavers | boolean include Leavers in Students result set |
includePreAdmissions | boolean include includePreAdmissions in Students result set |
includeGuests | boolean include guest students |
includeSubsidiary | boolean include students with Subsidiary Enrolment |
includeComms | boolean |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Students": [
- [
- {
- "Id": "string",
- "XID": "string",
- "ExternalId": "string",
- "IdaasId": "string",
- "Pseudoname": "string",
- "Forename": "string",
- "Surname": "string",
- "DisplayName": "string",
- "AdmissionNo": "string",
- "Gender": "string",
- "RegGroupId": "string",
- "RegGroup": "string",
- "YearGroupId": "string",
- "YearGroup": "string",
- "StandardYearGroupCode": "string",
- "StandardYearGroupName": "string",
- "HouseGroupId": "string",
- "HouseGroup": "string",
- "UPN": "string",
- "CandidateNo": "string",
- "ExamNumber": "string",
- "ExamCentre": "string",
- "DateofBirth": "string",
- "UniqueLearnerNumber": "string",
- "EnrolmentStatus": "string",
- "Boarder": 0,
- "LegalForename": "string",
- "LegalSurname": "string",
- "EntryDate": "string",
- "FsmEligible": 0,
- "FSMTransitionProtection": 0,
- "UPFSMException": 0,
- "UniformAllowance": 0,
- "PupilPremium": 0,
- "YSSA": "string",
- "EAL": 0,
- "FSMEver6": 0,
- "Gifted": 0,
- "Disabled": 0,
- "ServiceChild": "string",
- "InLeaCare": 0,
- "EverInCare": 0,
- "IsYoungCarer": 0,
- "OnReport": 0,
- "ReligionCode": "string",
- "Religion": "string",
- "EthnicityCode": "string",
- "Ethnicity": "string",
- "EthnicitySource": "string",
- "HomeLanguage": "string",
- "HomeLanguageCode": "string",
- "FirstLanguage": "string",
- "FirstLanguageCode": "string",
- "FirstLanguageSource": "string",
- "NationalIdentity": "string",
- "IsTraveller": 0,
- "ParentalSalutation": "string",
- "AddressBlock": "string",
- "HouseName": "string",
- "Apartment": "string",
- "Street": "string",
- "District": "string",
- "TownOrCity": "string",
- "PostCode": "string",
- "Country": "string",
- "StudentStatus": "string",
- "PartTime": 0,
- "AttendanceMode": "string",
- "YearTaughtIn": "string",
- "NCYear": "string",
- "KeyStage": "string",
- "LastUpdated": "string",
- "RowHash": "string",
- "FreeSchoolTransportEligible": "string",
- "TravelProvidedByLEA": "string",
- "TopUpFundingIndicator": "string",
- "SpeaksWelshCode": "string",
- "Newbes": 0
}
]
], - "StudentSiblings": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "SiblingStudentId": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Students School History
Endpoint Description
The school.studenthistory endpoint returns a row for each previous school that the student has attended.
Options
- includeLeavers: Set to allow school history for leavers.
Filters
- Id: Option to filter on Student ID.
- LeavingDateFrom: Option to filter on LeavingDate.
- LeavingDateTo: Option to filter on LeavingDate.
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2318 | The Id of the school history record | Student |
StudentId | 9919 | The MIS Id of the excluded student | Student |
Forename | Graham | Student forename | Student |
Surname | Abbess | Student surname | Student |
PreviousSchoolName | Green Abbey School | Name of the previous school | Student |
LEA | 123 | School local authority code | Student |
EstabId | 3285502 | The DfE establishment code for the school | Student |
LeavingDate | 2013-12-20 | Date the student left previous school | Student |
LeavingReason | End of phase transfer - Maintained school | Reason for leaving previous school | Student |
LastUpdated | 2017-04-19T14:57:04.144 | The last time this data was updated | Student |
RowHash | 9688A8DE75870A9EC0937BD2FADB15A39A31A52E | For change comparison | Student |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
LeavingDateFrom | string <yyyy-MM-dd> Leaving date from |
LeavingDateTo | string <yyyy-MM-dd> Leaving date to |
includeLeavers | boolean include Leavers in result set |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentSchoolHistory": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "Forename": "string",
- "Surname": "string",
- "PreviousSchoolName": "string",
- "LEA": "string",
- "EstabId": "string",
- "LeavingDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Deceased students
Fetch a list of deceased students for an establishment (or optionally only one student)
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Students": [
- [
- {
- "Id": "string",
- "XID": "string",
- "ExternalId": "string",
- "IdaasId": "string",
- "Pseudoname": "string",
- "Forename": "string",
- "Surname": "string",
- "DisplayName": "string",
- "AdmissionNo": "string",
- "Gender": "string",
- "RegGroupId": "string",
- "RegGroup": "string",
- "YearGroupId": "string",
- "YearGroup": "string",
- "StandardYearGroupCode": "string",
- "StandardYearGroupName": "string",
- "HouseGroupId": "string",
- "HouseGroup": "string",
- "UPN": "string",
- "CandidateNo": "string",
- "ExamNumber": "string",
- "ExamCentre": "string",
- "DateofBirth": "string",
- "UniqueLearnerNumber": "string",
- "EnrolmentStatus": "string",
- "Boarder": 0,
- "LegalForename": "string",
- "LegalSurname": "string",
- "EntryDate": "string",
- "FsmEligible": 0,
- "FSMTransitionProtection": 0,
- "UPFSMException": 0,
- "UniformAllowance": 0,
- "PupilPremium": 0,
- "YSSA": "string",
- "EAL": 0,
- "FSMEver6": 0,
- "Gifted": 0,
- "Disabled": 0,
- "ServiceChild": "string",
- "InLeaCare": 0,
- "EverInCare": 0,
- "IsYoungCarer": 0,
- "OnReport": 0,
- "ReligionCode": "string",
- "Religion": "string",
- "EthnicityCode": "string",
- "Ethnicity": "string",
- "EthnicitySource": "string",
- "HomeLanguage": "string",
- "HomeLanguageCode": "string",
- "FirstLanguage": "string",
- "FirstLanguageCode": "string",
- "FirstLanguageSource": "string",
- "NationalIdentity": "string",
- "IsTraveller": 0,
- "ParentalSalutation": "string",
- "AddressBlock": "string",
- "HouseName": "string",
- "Apartment": "string",
- "Street": "string",
- "District": "string",
- "TownOrCity": "string",
- "PostCode": "string",
- "Country": "string",
- "StudentStatus": "string",
- "PartTime": 0,
- "AttendanceMode": "string",
- "YearTaughtIn": "string",
- "NCYear": "string",
- "KeyStage": "string",
- "LastUpdated": "string",
- "RowHash": "string",
- "FreeSchoolTransportEligible": "string",
- "TravelProvidedByLEA": "string",
- "TopUpFundingIndicator": "string",
- "SpeaksWelshCode": "string",
- "Newbes": 0
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student user defined fields
Endpoint Description
Retrieve a list of available User Defined Fields. Use UDFName values from this endpoint with school.StudentUserDefinedFields
to retrieve the values for students.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | UDFName | CSV of UDF Names to retrieve |
Optional | StudentId | Filter to a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.userdefinedfields | StudentUDFs.UDFName | UDFs.UDFName | UDF Names |
school.Students | StudentUDFs.StudentId | Students.Id | Main student record |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 11242 | Id of UDF / Student link | StudentFreeText |
StudentId | 9919 | Student Id | StudentFreeText |
UDFName | Locker Number | Name of UDF | StudentFreeText |
UDFValue | 120 | Value of the UDF | StudentFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
UDFName | string <CSV> CSV of UDF values to return |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentUDFs": [
- [ ]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student meal patterns
Endpoint Description
The school.studentmeals endpoint provides access to weekly student meal patterns. The endpoint returns records for those students currently on roll at the school from whom you are requesting data.
Filters
Available query parameters for this endpoint:
- id: Optional filter to return a single student using their ID property.
- updatedSince: Optional filter to return records that have been updated since this value.
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9919 | The MIS Id of the student | StudentExtended |
Forename | Graham | Student legal forename | StudentExtended |
Surname | Abbess | Student legal surname | StudentExtended |
SundayCode | SM | Student's meal type code for Sunday | StudentExtended |
MondayCode | SM | Student's meal type code for Monday | StudentExtended |
TuesdayCode | SM | Student's meal type code for Tuesday | StudentExtended |
WednesdayCode | SM | Student's meal type code for Wednesday | StudentExtended |
ThursdayCode | SM | Student's meal type code for Thursday | StudentExtended |
FridayCode | SM | Student's meal type code for Friday | StudentExtended |
SaturdayCode | SM | Student's meal type code for Saturday | StudentExtended |
SundayType | School Meal | Student's meal type description for Sunday | StudentExtended |
MondayType | School Meal | Student's meal type description for Monday | StudentExtended |
TuesdayType | School Meal | Student's meal type description for Tuesday | StudentExtended |
WednesdayType | School Meal | Student's meal type description for Wednesday | StudentExtended |
ThursdayType | School Meal | Student's meal type description for Thursday | StudentExtended |
FridayType | School Meal | Student's meal type description for Friday | StudentExtended |
SaturdayType | School Meal | Student's meal type description for Saturday | StudentExtended |
LastUpdated | 2016-07-22T13:51:54.799 | The last time this data was updated | StudentExtended |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
updatedSince | string <yyyy-MM-dd> Filter by LAstUpdated greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentMealPatterns": [
- [
- {
- "Id": 12457,
- "Forename": "Rosario",
- "Surname": "Silva",
- "MondayCode": "SM",
- "TuesdayCode": "PL",
- "WednesdayCode": "SM",
- "ThursdayCode": "SM",
- "FridayCode": "PL",
- "MondayType": "School Meal",
- "TuesdayType": "Packed Lunch",
- "WednesdayType": "School Meal",
- "ThursdayType": "School Meal",
- "FridayType": "Packed Lunch",
- "LastUpdated": "2022-02-23T17:34:22.851",
- "RowHash": "FBF13D84EFD269C9464B6A45BBF130295B531B04"
}
]
], - "StudentMealTypes": [
- [
- {
- "Code": "SM",
- "Description": "School Meal"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student medical conditions
Endpoint Description
Access student medical conditions and a list of conditions defined in the school's MIS. This endpoint requires explicit consent to the StudentMedical scope for compliance with GDPR for the restricted data area "Medical."
Filters
Available query parameters to refine the dataset returned by this endpoint:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Request information for a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentConditions.StudentId | Students.Id | Main student record information |
school.students | StudentMedical.Id | Students.Id | Main student record information |
Fields by Scope
ConditionLookups
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the Medical Condition | StudentMedical |
ConditionDescription | Hayfever | The condition description | StudentMedical |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
StudentConditions
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1.8501 | Composite Id for uniqueness used in changesets | StudentMedical |
StudentId | 8501 | Id of the student | StudentMedical |
MedicalConditionId | 1 | Id of the condition | StudentMedical |
ConditionDescription | Hayfever | The condition description | StudentMedical |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
StudentMedical
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1403 | StudentId | StudentMedical |
DietaryNeeds | Seafood allergy | StudentMedical | |
StudentAssessedDisabled | 1 | Boolean 1 or 0 | StudentMedical |
EmergencyConsent | 1 | Boolean 1 or 0 | StudentMedical |
PregnantPupil | 1 | Boolean 1 or 0 | StudentMedical, StudentPregnancy |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
StudentMedicalNotes
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1453 | Id for the note | StudentMedical |
StudentId | 1854 | Id of the student the note relates to | StudentMedical |
Note | Came to medical on Friday afternoon. Needed inhaler. | Note in full | StudentMedical |
Summary | Needed inhaler | Summary of the note | StudentMedical |
LastModified | 2016-09-23 | Date when the note was last modified. Not to be confused with LastUpdated | StudentMedical |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
StudentMedicalEvents
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1453 | Id for the medical event | StudentMedical |
StudentMis_Id | 1854 | Id of the student the event relates to | StudentMedical |
EventType | Medical Inspection | Type of medical event | StudentMedical |
EventDescription | Medical Inspection | Description of the medical event | StudentMedical |
EventDate | 2023-01-04 | Date of the medical event | StudentMedical |
FollowUpDate | 2023-01-10 | Follow up date for the medical event | StudentMedical |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
StudentMedicalEventNotes
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1453 | Id for the medical event note | StudentMedical |
MedicalEventId | 1453 | Id for the medical event that the note relates to | StudentMedical |
Summary | Summary of the note | StudentMedical | |
Note | Free text of the note itself | StudentMedical | |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | StudentMedical |
RowHash | A1654F8EE247AAFE789E2888A7AD471F6D630D95 | For change comparison | StudentMedical |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional Student ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "ConditionLookups": [
- [
- {
- "Id": "1",
- "ConditionDescription": "Epilepsy",
- "RowHash": "23FE2E29C0D30D7D852F73EA83FB59423C5DEB16",
- "LastUpdated": "2022-02-23T17:33:58.351"
}
]
], - "StudentConditions": [
- [
- {
- "Id": "1.12946",
- "StudentId": "12946",
- "MedicalConditionId": "1",
- "ConditionDescription": "Epilepsy",
- "InfoReceivedDate": "2019-07-25",
- "RowHash": "564C1F04183849F8A12A1D4334AE021D7DEB61EA",
- "LastUpdated": "2022-02-23T17:33:59.461"
}
]
], - "StudentMedical": [
- [
- {
- "Id": 10495,
- "EmergencyConsent": 0,
- "PregnantPupil": 0,
- "RowHash": "C91985C8620CA1023FF3A16C28A6A783239744AF",
- "LastUpdated": "2025-02-14T19:12:45.618"
}
]
], - "StudentMedicalNotes": [
- [
- {
- "Id": "14992",
- "StudentId": "13939",
- "Note": "Mum informed that Max has eczema and will be carrying cream with him.",
- "Summary": "Eczema",
- "LastModified": "2022-05-17T11:47:00",
- "RowHash": "5568AB9304ACBB7F02F7B4C16E1366B7FB63E6DD",
- "LastUpdated": "2024-09-05T01:58:16.791"
}
]
], - "StudentMedicalEvents": [
- [
- {
- "Id": "320",
- "StudentMis_id": "13047",
- "EventType": "Medical Inspection",
- "EventDescription": "Medical Inspection",
- "EventDate": "2020-03-11"
}
]
], - "MedicalEventNotes": [
- [
- {
- "Id": "13778",
- "MedicalEventId": "320",
- "Summary": "Asthma",
- "Note": "Adam feeling wheezie after PE today. Adam taken rest in sick bay for 10 minutes no inhaler needed."
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student interventions and associated data.
Student interventions and associated data.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DateFrom required | string <yyyy-mm-dd> Date from |
DateTo required | string <yyyy-mm-dd> Date to |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentInterventions": [
- [
- {
- "Id": "1796",
- "StudentId": "13513",
- "StudentIdaasId": "PL-13513",
- "InterventionId": "67",
- "SessionsAttended": "0"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student exclusions
Endpoint Description
The school.studentexclusions endpoint returns temporary and permanent exclusions for current students.
Options
- includeComments: Set to enable the comments field.
- includeAppealInfo: Set to enable the various appeal fields.
- includeLeavers: Set to allow exclusions for leavers.
Filters
Available query parameters for this endpoint:
- Id: Option to filter on Student ID.
- DateFrom: Option to filter on Start Date.
- DateTo: Option to filter on End Date.
- ExclusionType: Option to filter on Type.
- ExclusionReason: Option to filter on Reason.
Fields by Scope
StudentExclusions
StudentExclusions includes the exclusions and its details for the selected students. Note that the Reason field is considered deprecated for some MIS. Where an MIS provides multiple exclusion reasons, the reason fields in the StudentExclusions result set will be null.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2318 | The Id of the exclusion event | StudentExclusions |
StudentId | 9919 | The MIS Id of the excluded student | StudentExclusions |
Forename | Graham | Student forename | StudentExclusions |
Surname | Abbess | Student surname | StudentExclusions |
ExclusionType | Fixed Term | Type of exclusion | StudentExclusions |
ExclusionTypeCode | FIXD | Type of exclusion - code | StudentExclusions |
ExclusionReason | Theft | Reason for exclusion - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionReasonCode | TH | Reason for exclusion - code - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionSessions | 1 | Number of sessions the student is excluded from | StudentExclusions |
StartDate | 2017-05-01 | Exclusion start date | StudentExclusions |
EndDate | 2017-05-01 | Exclusion end date | StudentExclusions |
StartSession | AM | Exclusion start session | StudentExclusions |
EndSession | PM | Exclusion end session | StudentExclusions |
ExclusionDays | 1 | Duration the student is excluded for | StudentExclusions |
Comments | Misbehaviour | Free-text comments regarding this item | StudentExclusions |
DisciplinaryResult | Exclusion Stands | Disciplinary committee result | StudentExclusions |
CommitteeHearingDate | 2017-05-01 | Disciplinary committee date | StudentExclusions |
ParentalRepresentation | 1 | Parents represented on disciplinary committee? (1/0) | StudentExclusions |
CommitteeReinstatementDate | 2017-05-01 | Date if reinstatement recommended | StudentExclusions |
AppealIndicator | 1 | Appeal received? (1/0) | StudentExclusions |
AppealDate | 2017-05-01 | Date of appeal | StudentExclusions |
AppealResult | Result of appeal | StudentExclusions | |
HearingNoticeOfAppealDate | 2017-05-01 | Date of hearing notice of appeal | StudentExclusions |
AppealReinstatementDate | 2017-05-01 | Date of appeal reinstatement | StudentExclusions |
StudentStatus | On Roll | Whether the student is still enrolled | StudentExclusions |
Term | Spring Term | The term of the exclusion | StudentExclusions |
AcademicYear | 2021/2022 | The academic year of the exclusion | StudentExclusions |
AgenciesInvolved | Agencies relating to the exclusion | StudentExclusions | |
LastUpdated | 2017-04-19T14:57:04.144 | The last time this data was updated | StudentExclusions |
RowHash | 9688A8DE75870A9EC0937BD2FADB15A39A31A52E | For change comparison | StudentExclusions |
StudentExclusionReasons
StudentExclusionReasons links exclusions to their reasons where multiple reasons are supported by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
StudentExclusionId | 2318 | The Id of the exclusion event | StudentExclusions |
ReasonId | 14 | The Id of the reason | StudentExclusions |
ExclusionReasons
ExclusionReasons details the reasons where multiple reasons are provided by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The Id of the exclusion reason | StudentExclusions |
ReasonCode | PA | The code of the exclusion reason | StudentExclusions |
ReasonDescription | Physical assault against an adult | The description of the exclusion reason | StudentExclusions |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
DateFrom | string <yyyy-MM-dd> StartDate |
DateTo | string <yyyy-MM-dd> EndDate |
ExclustionType | string Enum: "FIXD" "PERM" "LNCH" "RPER" "RFIX" Exclusion Type |
ExclusionReason | string Enum: "PP" "PA" "VP" "VA" "BU" "RA" "SM" "DA" "DM" "TH" "DB" "OT" Exclusion Reason |
includeComments | boolean Enable comments field |
includeAppealInfo | boolean Enable appeal fields |
includeLeavers | boolean Include leavers result set |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentSchoolHistory": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "Forename": "string",
- "Surname": "string",
- "PreviousSchoolName": "string",
- "LEA": "string",
- "EstabId": "string",
- "LeavingDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Collect all previous school records for students on roll
School.StudentEnrolmentHistory Endpoint
The School.StudentEnrolmentHistory endpoint returns enrolment history for all students in the current and previous three academic years.
Filters
Available query parameters for this endpoint:
- Id: Optional filter to return enrolment history for a single student MIS Id or Idaas Id.
- EffectiveDate: Optional filter to return enrolment history for a specific date.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentEnrolmentHistory.StudentMis_Id | Students.Id | Student record information |
school.students | StudentEnrolmentHistory.StudentIdaasId | Students.IdaasId | Student record information |
Fields by Scope
StudentEnrolmentHistory Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 13504.2020-09-07 | The MIS Id of the enrolment record | Student |
StudentIdaasId | PL-13504 | The unique Idaas Id of the student | Student |
Student_MisId | 13504 | The MIS id of the student | Student |
StudentXid | The XID of the student | Student | |
EnrolmentStatusCode | C | The enrolment status code of the enrolment period | Student |
StartDate | 2020-01-01 | The start date of the enrolment period | Student |
EndDate | 2021-01-26 | The end date of the enrolment period | Student |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | Student |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | Student |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional Student ID |
effectiveDate | string <yyyy-MM-dd> effective date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentEnrolmentHistory": [
- [
- {
- "Id": "12284.2018-09-01",
- "StudentIdaasId": "PL-12284",
- "Student_MisId": "12284",
- "EnrolmentStatusCode": "C",
- "StartDate": "2018-09-01",
- "LastUpdated": "2025-02-20T00:00:00",
- "RowHash": "-4513026369464045208"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student alternative provisions
Endpoint Description
Retrieve information about alternative provisions for students.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentAlternativeProvision.StudentMis_Id | Students.Mis_Id | Student record information |
Fields by Scope
StudentAlternativeProvision Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | Id for the student alternative provision | StudentAlternativeProvision |
StudentMis_Id | 14 | Id for the student | StudentAlternativeProvision |
StartDate | 2022-01-01 | Start date of the alternative provision | StudentAlternativeProvision |
EndDate | 2023-01-01 | End date of the alternative provision | StudentAlternativeProvision |
AttendancePattern | PT | Attendance pattern of the alternative provision | StudentAlternativeProvision |
SessionsPerWeek | 3 | Number of sessions per week | StudentAlternativeProvision |
ProvisionSettingType | Non-maintained further education college | Type of provision settings | StudentAlternativeProvision |
PrimaryPlacementReason | Permanent exclusion | Reason for placement | StudentAlternativeProvision |
PlacementAssociation | Placement association | StudentAlternativeProvision | |
CompanyHouseNo | 34532643 | Company house number | StudentAlternativeProvision |
PostCode | Postcode for the alternative provision | StudentAlternativeProvision | |
URN | Unique reference number for the alternative provision | StudentAlternativeProvision | |
UKPRN | UK Provider Reference Number for the alternative provision | StudentAlternativeProvision | |
Notes | Free text notes relating to the alternative provision | StudentAlternativeProvision |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional Student ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentAlternativeProvision": [
- [
- {
- "id": "string",
- "StudentMis_Id": "string",
- "StartDate": "string",
- "EndDate": "string",
- "AttendancePattern": "string",
- "SessionsPerWeek": "string",
- "ProvisionSettingType": "string",
- "PrimaryPlacementReason": "string",
- "PlacementAssociation": "string",
- "CompanyHouseNo": "string",
- "PostCode": "string",
- "URN": "string",
- "UKPRN": "string",
- "Notes": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Counts of the number of students, staff, contacts, groups and photos for this school
Endpoint Description
Retrieve total counts of students, contacts, staff, groups, and available photos for active people.
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Area | Students | Area for count | School / SchoolLite |
Count | 1017 | Count of entities | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "counts": [
- [
- {
- "Id": 0,
- "Area": "string",
- "Count": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Detention Lookups
Provides the required lookup ID values for the codes and types needed when writing back detections to the MIS
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeInactive | boolean Add this option to include historical lookups |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "counts": [
- [
- {
- "Id": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Detentions
Endpoint Description
Retrieve detentions and associated data.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student |
Optional | DateFrom | Retrieve records on or after the date specified (yyyy-mm-dd) |
Optional | DateTo | Retrieve records on or before the date specified (yyyy-mm-dd) |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | DetentionStudents.StudentId | Students.Id | Student record information |
school.staff | DetentionStudents.AddedByStaffId, Detentions.AssignedStaffId, Detentions.RecordedByStaffId, DetentionOtherStaff.StaffId | Staff.Id | Staff record information |
school.behaviourfordaterange | DetentionStudents.BehaviourId | Behaviour.Id | Behaviour incident information |
Fields by Scope
DetentionStudents
Detention records per student.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1744 | Id of the student detention record. | StudentDetentions |
DetentionId | 1473 | Id of the detention record. | StudentDetentions |
StudentId | 9925 | Id of the student record. | StudentDetentions |
ReasonId | 14 | Id of the detention reason. | StudentDetentions |
AttendedId | 1 | Id of the attended status. | StudentDetentions |
NonAttendanceReason | Doctors appointment. | Reason for non attendance. | StudentDetentions |
BehaviourId | 4113 | Id of the associated behaviour incident. | StudentDetentions |
AddedByStaffId | 1 | Id of the staff member who added the student detention record. | StudentDetentions |
Comments | Don't forget book bag. | Comments associated with the student detention. | StudentDetentions |
Detentions
Detention records.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1471 | Id of the detention record. | StudentDetentions |
DetentionTypeId | 2 | Id of the detention type. | StudentDetentions |
LocationId | 22 | Id of the detention location. | StudentDetentions |
DetentionDate | 2018-10-26 | Date of the detention. | StudentDetentions |
StartTime | 15:00 | Start time of the detention. | StudentDetentions |
EndTime | 17:00 | End time of the detention. | StudentDetentions |
AssignedStaffId | 1 | Id of the staff member assigned to the detention. | StudentDetentions |
RecordedDate | 2018-10-29 | Date the detention was recorded. | StudentDetentions |
RecordedByStaffId | 1 | Id of the staff member who recorded the detention. | StudentDetentions |
DetentionReasonLookup
Lookup for detention reasons.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 4 | Id of the detention reason. | StudentDetentions |
Code | LI | Code of the detention reason. | StudentDetentions |
Description | Lunchtime Incident | Description of the detention reason. | StudentDetentions |
DisplayOrder | 12 | Display order of the detention reason. | StudentDetentions |
DetentionAttendedLookup
Lookup for detention attended statuses.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | Id of the detention attended status. | StudentDetentions |
Code | ATT | Code of the detention attended status. | StudentDetentions |
Description | Not Recorded | Description of the detention attended status. | StudentDetentions |
DisplayOrder | 2 | Display order of the detention attended status. | StudentDetentions |
DetentionTypeLookup
Lookup for detention types.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | Id of the detention type. | StudentDetentions |
Code | SLTD | Detention type code. | StudentDetentions |
Description | SLT Detention | Detention type description. | StudentDetentions |
DefaultLocationId | 33 | Id of the default location. | StudentDetentions |
Frequency | Weekly | Frequency of the detention. | StudentDetentions |
DefaultDayOfWeekNum | 4 | Default day of the week number. | StudentDetentions |
DefaultStartTime | 12:00 | Default start time. | StudentDetentions |
DefaultEndTime | 12:30 | Default end time. | StudentDetentions |
YearGroupId | 4 | Id of yeargroup the detention is associated with. | StudentDetentions |
DetentionLocationLookup
Lookup for detention locations.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the location. | StudentDetentions |
Code | HALL | Location code. | StudentDetentions |
Description | Main Hall | Location description. | StudentDetentions |
DetentionActivities
Detention activity records.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 33 | Id of the detention activity. | StudentDetentions |
DetentionId | 1471 | Id of the detention. | StudentDetentions |
ActivityId | 4 | Id of the activity. | StudentDetentions |
DetentionActivityLookup
Lookup for detention activities.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the activity. | StudentDetentions |
Code | HOM | Activity code. | StudentDetentions |
Description | Homework | Activity description. | StudentDetentions |
DisplayOrder | 1 | Activity display order. | StudentDetentions |
DetentionOtherStaff
Other staff associated with the detention.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 10 | Id of the detention other staff record. | StudentDetentions |
DetentionId | 1485 | Id of the detention. | StudentDetentions |
StaffId | 26 | Id of the staff member. | StudentDetentions |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeInactive | boolean Add this option to include historical lookups |
StudentId | string Optional StudentId |
DateFrom | string <yyyy-mm-dd> Retrieve records on or after the date specified (yyyy-mm-dd) |
DateTo | string <yyyy-mm-dd> Retrieve records on or before the date specified (yyyy-mm-dd) |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "counts": [
- [
- {
- "Id": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Dietary needs
Endpoint Description
Retrieve dietary needs (including allergies) and their associated student records.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | Id | Retrieve records relating to a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentDietaryNeeds.StudentMisId | Students.Id | Student record information |
Fields by Scope
DietaryNeeds
A lookup list of Dietary Needs.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1744 | Id of the dietary need. | DietaryNeeds / StudentMedical |
Code | DAIR | Code of the dietary need. | DietaryNeeds / StudentMedical |
Description | No dairy produce | Description of the dietary need. | DietaryNeeds / StudentMedical |
StudentDietaryNeeds
Student records and their associated dietary needs.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1453 | Id of the student dietary need record. | DietaryNeeds / StudentMedical |
DietaryNeedsId | 1744 | Id of the dietary need. | DietaryNeeds / StudentMedical |
StudentId | 5464 | Id of the student. | DietaryNeeds / StudentMedical |
StudentLocalId | PL-1744 | Local id of the student. | DietaryNeeds / StudentMedical |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional StudentId |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DietaryNeeds": [
- [
- {
- "Id": "string",
- "Code": "string",
- "Description": "string"
}
]
], - "StudentDietaryNeeds": [
- [
- {
- "Id": "string",
- "DietaryNeedsId": "string",
- "StudentId": "string",
- "StudentLocalId": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
discountcodes
Retrieve discount codes
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeKS4 | string Include KS4 discount codes |
includeKS5 | string Include KS5 discount codes |
KeyStage required | string Mandatory keystage, i.e. KS4 or KS5 |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "discountcodes": [
- [
- {
- "Year": "string",
- "QAN": "string",
- "QualificationTitle": "string",
- "SyllabusCode": "string",
- "SyllabusTitle": "string",
- "DiscountCode": "string",
- "DiscountCodeDescription": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Entitlement History
Endpoint Description
Retrieve Free School Meal, Pupil Premium, and Ever6 historical membership for all students.
Options
Available option parameters for this endpoint:
- onlyEntitlementGroups - Only return the EntitlementGroups resultset.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | Student.Id | EntitlementGroupStudents.StudentId | Main endpoint for student information |
Fields by Scope
EntitlementGroups
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 100 | Primary Key | StudentFunding |
Shortname | FSM | Shortened or abbreviated name of the group | StudentFunding |
Fullname | Free School Meals | Full name of the group | StudentFunding |
EntitlementGroupStudents
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 86 | Primary key | StudentFunding |
EntitlementGroupId | 108 | Foreign key referencing EntitlementGroups | StudentFunding |
StudentId | 4356 | Foreign key referencing Students | StudentFunding |
StartDate | 2006-05-16T00:00:00 | Date the entitlement began | StudentFunding |
EndDate | 2009-07-30T00:00:00 | Date the entitlement finished, null if unfinished | StudentFunding |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
onlyEntitlementGroups | string Only return EntitlementGroups resultset |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "EntitlementGroups": [
- [
- {
- "Id": 0,
- "ShortName": "string",
- "FullName": "string"
}
]
], - "EntitlementGroupStudents": [
- [
- {
- "Id": "string",
- "EntitlementGroupId": "string",
- "StudentId": "string",
- "StartDate": "string",
- "EndDate": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Funding and Monitoring
Endpoint Description
Retrieve funding and monitoring information.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentFAM.StudentMis_Id | Students.Mis_Id | Student record information |
Fields by Scope
StudentFAM
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the student funding and monitoring record | FundingMonitoring |
StudentMis_Id | 23 | Id of the student | FundingMonitoring |
FAMType | NLM | Type of funding and monitoring | FundingMonitoring |
FAMCode | 01 | Funding and monitoring code | FundingMonitoring |
FAMDescription | Tutoring | Funding and monitoring description | FundingMonitoring |
AcademicYear | 2022 | Academic year | FundingMonitoring |
AutumnHours | 2 | Number of autumn hours | FundingMonitoring |
SpringHours | 2 | Number of spring hours | FundingMonitoring |
SummerHours | 2 | Number of summer hours | FundingMonitoring |
AcademicYearHours | 2 | Number of hours for the academic year | FundingMonitoring |
FAMNotes | Free text notes relating to the funding and monitoring record | FundingMonitoring |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional StudentID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentFAM": [
- [
- {
- "Id": 0,
- "StudentMis_Id": "string",
- "FAMType": "string",
- "FAMCode": "string",
- "FAMDescription": "string",
- "AcademicYear": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "LearnerSupport": [
- [
- {
- "Id": 0,
- "StudentMis_Id": "string",
- "LearnerSupport": "string",
- "Code": "string",
- "AwardDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Group History
Endpoint Description
Retrieve historical group definitions. Optionally, include student and staff memberships to the groups.
Options
- includeStaffMembers - Include staff memberships dataset in output. Includes all staff members of each group.
- includeStudentMembers - Include student memberships dataset in output.
- includeMembersIds - Include csv of Ids of group members (staff and students).
- includeMembersIdaasIds - Include csv of IdaasIds of group members (staff and students).
- includeMembersXIDs - Include csv of XIDs of group members (staff and students).
- includeSubGroups - Include SubGroups resultset.
- includeSubjects - Include GroupsSubjects and Subjects resultsets.
- includeStandardYeargroups - Include lookup for Standard Yeargroups.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Obtain group definition and optionally, members, of a specific group |
Optional | Type | Filter returned dataset to one or more group types. Accepts a csv of group types. |
Optional | Code | Obtain group definition and optionally, members using the group code |
Optional | DateFrom | Filter groups that ended before the from date |
Optional | DateTo | Filter groups that started after the to date |
Types
- YearGrp: Return only pastoral year groups
- RegGrp: Return only pastoral registration (form / tutor) groups
- TeachingGrp: Return only academic teaching groups (classes)
- HouseGrp: Return only pastoral house groups
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentMembers.StudentId | Students.Id | Retrieves details for the student |
school.staff | StaffMembers.StaffId | Staff.Id | Retrieves details for the staff member |
Fields by Scope
Groups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GR-8811 | The unique, Idaas Id of the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS id of the group | School / SchoolLite |
XID | The XID of the group | School / SchoolLite | |
ExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id of the group | School / SchoolLite |
Type | RegGrp | The group type | School / SchoolLite |
Code | 9X1/Fr | The group code | School / SchoolLite |
Name | 9X1/Fr | The group name, often the same as Code | School / SchoolLite |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | School / SchoolLite |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | School / SchoolLite |
StudentXIDs | Student XIDs | School / SchoolLite | |
StaffXIDs | Staff XIDs | School / SchoolLite | |
StudentIds | 9919,9925 | Student MIS Ids | School / SchoolLite |
StaffIds | 10 | Staff MIS Id | School / SchoolLite |
StudentIdaasIds | PL-9919,PL-9925 | Student IDaaS Ids | School / SchoolLite |
StaffIdaasIds | PWT-10 | Staff IDaaS Ids | School / SchoolLite |
StaffMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PWT-25 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The unique Idaas Id for the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS Id for the group | School / SchoolLite |
StaffId | 25 | The MIS Id for the staff member | School / SchoolLite |
StaffRole | Head of Year | Staff role within the group | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StaffIdaasId | PWT-10 | Staff IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the staff membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the staff membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StudentMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PL-9660 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The MIS Id for the group | School / SchoolLite |
GroupMis_Id | 8811 | The MIS Id for the group | School / SchoolLite |
StudentId | PL-9660 | The MIS Id for the student | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StudentExternalId | 3ea4efb0-ff91-4c15-a27c-25a7b4982665 | The MIS external Id for the student | School / SchoolLite |
StudentIdaasId | PL-9919 | Student IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the student membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the student membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
SubGroups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811.4665 | A composite Id for the group relationship | School / SchoolLite |
ChildGroupId | 8811 | The MIS Id of the child group | School / SchoolLite |
ParentGroupId | 4665 | The MIS Id of the parent group | School / SchoolLite |
ChildGroupTypeId | 24 | The MIS Id of the child group type | School / SchoolLite |
ParentGroupTypeId | 51 | The MIS Id of the parent group type | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StandardYearGroupLookup dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GY-24 | A unique id for the record | School / SchoolLite |
GroupId | GY-24 | The unique Idaas Id of the child group | School / SchoolLite |
GroupMis_Id | 24 | The MIS id of the yeargroup | School / SchoolLite |
StandardYeargroupCode | 8 | The short yeargroup code. Reception will be R | School / SchoolLite |
StandardYeargroupName | Year 8 | The name of the yeargroup | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStaffMembers | boolean Include staff membership of groups |
includeStudentMembers | boolean Include student membership |
includeMembersIds | boolean Include csv of Ids of group members |
includeMembersIdaasIds | boolean Include csv of IdaasIds of group members |
includeMembersXIDs | boolean Include csv of XIDs of group members |
includeSubGroups | boolean Include SubGroups resultset |
includeSubjects | boolean Include GroupsSubjects and Subjects resultsets |
includeStandardYeargroups | boolean Include lookup for Standard Yeargroups |
id | string optional group id or externalid |
Type | string Filter by type |
Code | string Filter by code |
DateFrom | string <yyyy-MM-dd> Filter groups that ended before date |
DateTo | string <yyyy-MM-dd> Filter groups that ended before date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "GroupHistory": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Groups
Endpoint Description
Retrieve active group definitions where a group has at least one student or staff member. Optionally, include student and staff memberships to the groups.
Options
- includeStaffMembers - Include staff memberships dataset in output. Includes all staff members of each group.
- includeStudentMembers - Include student memberships dataset in output.
- includeMembersIds - Include csv of Ids of group members (staff and students).
- includeMembersIdaasIds - Include csv of IdaasIds of group members (staff and students).
- includeSubjects - Include SubjectLocalId, SubjectCode, SubjectName on the Group result set.
- includeGroupTypes - Include GroupIds on the Group result set and a separate GroupTypes result set.
- includeSubGroups - Include the SubGroups result set.
- includeFutureGroups - Include future groups in the returned resultsets. Should be used with includeStaffMembers and/or includeStudentMembers to obtain start and end dates of future memberships.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Obtain group definition and optionally, members, of a specific group |
Optional | Type | Filter returned dataset to one or more group types. Accepts a csv of group types. |
Optional | Code | Obtain group definition and optionally, members using the group code |
Optional | updatedSince | Filter by last updated date (return records greater than this date) |
Types
- YearGrp: Return only pastoral year groups.
- RegGrp: Return only pastoral registration (form / tutor) groups.
- TeachingGrp: Return only academic teaching groups (classes).
- HouseGrp: Return only pastoral house groups.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentMembers.StudentId | Students.Id | Retrieves details for the student |
school.staff | StaffMembers.StaffId | Staff.Id | Retrieves details for the staff member |
school.timetable | Groups.Id | Lessons.ClassId | Retrieves instances of lessons in the timetable |
school.timetableforstaff | Groups.Id | .ClassId | Retrieves timetable for specific staff member |
school.timetableforstudent | Groups.Id | .ClassId | Retrieves timetable for specific student |
Fields by Scope
Groups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811 | The MIS Id of the group | School / SchoolLite |
ExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id of the group | School / SchoolLite |
IdaasId | GC-8811 | The Idaas Id of the group | School / SchoolLite |
Code | 9X1/Fr | The group code | School / SchoolLite |
Name | 9X1/Fr | The group name, often the same as Code | School / SchoolLite |
PrimaryStaffId | 25 | The MIS Id of the main teacher for this group | School / SchoolLite |
Staff | JXE,RM | MIS StaffCodes for staff members of this group | School / SchoolLite |
NumStudents | 27 | Count of student members | School / SchoolLite |
RowHash | E2824F8EE247AAFE866E2888A7AD471F6D630D95 | For change comparison | School / SchoolLite |
LastUpdated | 2016-07-28T04:04:50.112 | The last time this data was updated | School / SchoolLite |
TypeId | 2 | The MIS Id of the group | School / SchoolLite |
Type | YearGrp | The group type | School / SchoolLite |
StudentIdaasIds | PL-9919,PL-9925 | Student IDaaS Ids | School / SchoolLite |
StaffIdaasIds | PWT-10 | Staff IDaaS Ids | School / SchoolLite |
StudentIds | 9919,9925 | Student MIS Ids | School / SchoolLite |
StaffIds | 10 | Staff MIS Id | School / SchoolLite |
SubjectLocalId | 111 | MIS Id of the subject | School / SchoolLite |
SubjectCode | Fr | The subject code | School / SchoolLite |
SubjectName | French | The name of the subject | School / SchoolLite |
GroupTypes dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | The MIS Id of the group | School / SchoolLite |
TypeCode | TeachingGrp | Type of group | School / SchoolLite |
TypeDescription | Teaching Group | Description of the group type | School / SchoolLite |
ParentGroupTypeId | 1 | The MIS Id for the parent group for this group | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StaffMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PWT-25 | Unique membership Id | School / SchoolLite |
GroupId | 8811 | The MIS Id for the group | School / SchoolLite |
StaffId | 25 | The MIS Id for the staff member | School / SchoolLite |
StaffRole | Head of Year | Staff role within the group | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StaffExternalId | b7d1b212-4c51-4af4-b7c9-9d7a2ab68530 | The MIS external Id for the staff member | School / SchoolLite |
StaffIdaasId | PWT-10 | Staff IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
StudentMembers dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | GC-8811.PL-9660 | Unique membership Id | School / SchoolLite |
GroupId | GC-8811 | The MIS Id for the group | School / SchoolLite |
StudentId | PL-9660 | The MIS Id for the student | School / SchoolLite |
GroupExternalId | 86779760-cb6e-40d9-b8f9-ea3ba86677d7 | The MIS external Id for the group | School / SchoolLite |
StudentExternalId | 3ea4efb0-ff91-4c15-a27c-25a7b4982665 | The MIS external Id for the student | School / SchoolLite |
StudentIdaasId | PL-9919 | Student IDaaS Id | School / SchoolLite |
GroupIdaasId | GC-101 | Group IDaaS Id | School / SchoolLite |
StartDate | 2018-09-01 | Start date of the student membership | School / SchoolLite |
EndDate | 2019-06-24 | End date of the student membership | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
SubGroups dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8811.4665 | A composite Id for the group relationship | School / SchoolLite |
ChildGroupId | 8811 | The MIS Id of the child group | School / SchoolLite |
ParentGroupId | 4665 | The MIS Id of the parent group | School / SchoolLite |
ChildGroupTypeId | 24 | The MIS Id of the child group type | School / SchoolLite |
ParentGroupTypeId | 51 | The MIS Id of the parent group type | School / SchoolLite |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | School / SchoolLite |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStaffMembers | boolean Include staff membership of groups |
includeStudentMembers | boolean Include student membership |
includeMembersIds | boolean Include csv of Ids of group members |
includeMembersIdaasIds | boolean Include csv of IdaasIds of group members |
includeMembersXIDs | boolean Include csv of XIDs of group members |
includeSubGroups | boolean Include SubGroups resultset |
includeSubjects | boolean Include GroupsSubjects and Subjects resultsets |
includeStandardYeargroups | boolean Include lookup for Standard Yeargroups |
id | string optional group id or externalid |
Type | string Filter by type |
Code | string Filter by code |
DateFrom | string <yyyy-MM-dd> Filter groups that ended before date |
DateTo | string <yyyy-MM-dd> Filter groups that ended before date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Group": [
- [
- {
- "Id": "string",
- "XID": "string",
- "ExternalId": "string",
- "IdaasId": "string",
- "Type": "string",
- "Code": "string",
- "Name": "string",
- "PrimaryStaffId": "string",
- "Staff": "string",
- "NumStudents": 0,
- "RowHash": "string",
- "LastUpdated": "string",
- "PlatformId": 0
}
]
], - "StaffMembers": [
- [
- { }
]
], - "StudentMembers": [
- [
- { }
]
], - "GroupTypes": [
- [
- { }
]
], - "SubGroups": [
- [
- { }
]
], - "StandardYearGroupLookup": [
- [
- {
- "id": "string",
- "GroupLocalId": "string",
- "GroupMis_Id": "string",
- "StandardYearGroupCode": "string",
- "StandardYearGroupName": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Interventions
Endpoint Description
The school.studentexclusions endpoint returns temporary and permanent exclusions for current students.
Options
- includeComments: Set to enable the comments field.
- includeAppealInfo: Set to enable the various appeal fields.
- includeLeavers: Set to allow exclusions for leavers.
Filters
Available query parameters for this endpoint:
- Id: Option to filter on Student ID.
- DateFrom: Option to filter on Start Date.
- DateTo: Option to filter on End Date.
- ExclusionType: Option to filter on Type.
- ExclusionReason: Option to filter on Reason.
Fields by Scope
StudentExclusions
StudentExclusions includes the exclusions and its details for the selected students. Note that the Reason field is considered deprecated for some MIS. Where an MIS provides multiple exclusion reasons, the reason fields in the StudentExclusions result set will be null.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2318 | The Id of the exclusion event | StudentExclusions |
StudentId | 9919 | The MIS Id of the excluded student | StudentExclusions |
Forename | Graham | Student forename | StudentExclusions |
Surname | Abbess | Student surname | StudentExclusions |
ExclusionType | Fixed Term | Type of exclusion | StudentExclusions |
ExclusionTypeCode | FIXD | Type of exclusion - code | StudentExclusions |
ExclusionReason | Theft | Reason for exclusion - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionReasonCode | TH | Reason for exclusion - code - will be null if MIS provides multiple reasons | StudentExclusions |
ExclusionSessions | 1 | Number of sessions the student is excluded from | StudentExclusions |
StartDate | 2017-05-01 | Exclusion start date | StudentExclusions |
EndDate | 2017-05-01 | Exclusion end date | StudentExclusions |
StartSession | AM | Exclusion start session | StudentExclusions |
EndSession | PM | Exclusion end session | StudentExclusions |
ExclusionDays | 1 | Duration the student is excluded for | StudentExclusions |
Comments | Misbehaviour | Free-text comments regarding this item | StudentExclusions |
DisciplinaryResult | Exclusion Stands | Disciplinary committee result | StudentExclusions |
CommitteeHearingDate | 2017-05-01 | Disciplinary committee date | StudentExclusions |
ParentalRepresentation | 1 | Parents represented on disciplinary committee? (1/0) | StudentExclusions |
CommitteeReinstatementDate | 2017-05-01 | Date if reinstatement recommended | StudentExclusions |
AppealIndicator | 1 | Appeal received? (1/0) | StudentExclusions |
AppealDate | 2017-05-01 | Date of appeal | StudentExclusions |
AppealResult | Result of appeal | StudentExclusions | |
HearingNoticeOfAppealDate | 2017-05-01 | Date of hearing notice of appeal | StudentExclusions |
AppealReinstatementDate | 2017-05-01 | Date of appeal reinstatement | StudentExclusions |
StudentStatus | On Roll | Whether the student is still enrolled | StudentExclusions |
Term | Spring Term | The term of the exclusion | StudentExclusions |
AcademicYear | 2021/2022 | The academic year of the exclusion | StudentExclusions |
AgenciesInvolved | Agencies relating to the exclusion | StudentExclusions | |
LastUpdated | 2017-04-19T14:57:04.144 | The last time this data was updated | StudentExclusions |
RowHash | 9688A8DE75870A9EC0937BD2FADB15A39A31A52E | For change comparison | StudentExclusions |
StudentExclusionReasons
StudentExclusionReasons links exclusions to their reasons where multiple reasons are supported by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
StudentExclusionId | 2318 | The Id of the exclusion event | StudentExclusions |
ReasonId | 14 | The Id of the reason | StudentExclusions |
ExclusionReasons
ExclusionReasons details the reasons where multiple reasons are provided by the MIS.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 14 | The Id of the exclusion reason | StudentExclusions |
ReasonCode | PA | The code of the exclusion reason | StudentExclusions |
ReasonDescription | Physical assault against an adult | The description of the exclusion reason | StudentExclusions |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DateFrom required | string <yyyy> The date from which to collect intervention records |
DateTo required | string <yyyy> The end of the date range for which intervention are collected |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "InterventionOvervews": [
- [
- {
- "Id": "string",
- "OverviewName": "string",
- "Area": "string",
- "Subject": "string",
- "Reason": "string"
}
]
], - "Interventions": [
- [
- {
- "Id": "string",
- "InterventionName": "string",
- "InterventionOverviewId": "string",
- "StartDate": "string",
- "EndDate": "string",
- "PlannedSessions": "string",
- "FixedCosts": "string",
- "StaffCosts": "string",
- "TotalCosts": "string",
- "StudentCosts": "string",
- "StudentCount": "string"
}
]
], - "InterventionStaff": [
- [
- {
- "Id": "string",
- "InterventionId": "string",
- "StaffId": "string",
- "StaffIdaasId": "string"
}
]
], - "InterventionContacts": [
- [
- { }
]
], - "InterventionAgents": [
- [
- {
- "Id": "string",
- "InterventionId": "string",
- "AgentId": "string",
- "AgentIdaasId": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Retrieve information about post 16 study.
Endpoint Description
Retrieve information about post 16 study.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentPost16Study.StudentMis_Id | Students.Mis_Id | Student record information |
Fields by Scope
StudentPost16Study
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the student funding and monitoring record | Post16Study |
StudentMis_Id | 23 | Id of the student | Post16Study |
AcademicYear | 2018/2019 | Academic year of the record | Post16Study |
ProgrammeType | Study Programme | The type of post 16 study | Post16Study |
StartDate | 2018-09-01 | Start date of the post 16 study | Post16Study |
EndDate | 2019-02-12 | End date of the post 16 study | Post16Study |
PlannedEnd | 2019-03-12 | Planned end date of the post 16 study | Post16Study |
Status | Continuing | Status of the post 16 study | Post16Study |
Reason | Reason for the post 16 study | Post16Study | |
Traineeship | 1 | Flag indicating whether the post 16 study is a traineeship (boolean) | Post16Study |
QualHours | 600 | Qualification hours for the post 16 study | Post16Study |
NonQualHours | 56 | Non-qualification hours for the post 16 study | Post16Study |
TotalHours | 656 | Total hours for the post 16 study | Post16Study |
CoreAim | Core aim of the post 16 study | Post16Study | |
Notes | Free text notes relating to the post 16 study | Post16Study |
Post16StudyCourses
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the course record | Post16Study |
CourseID | 2113 | MIS Id for the course | Post16Study |
Name | Digital Design Core (TLevC) | Name of the course | Post16Study |
StartDate | 2018-09-01 | Start date of the post 16 study course | Post16Study |
EndDate | 2019-02-12 | End date of the post 16 study course | Post16Study |
PlannedEndDate | 2019-03-12 | Planned end date of the post 16 study course | Post16Study |
CompletionStatus | Continuing | Completion Status of the post 16 study course | Post16Study |
PlannedQualificationHours | 400 | Planned qualification hours of the course | Post16Study |
PlannedNonQualHours | 300 | Planned non-qualification hours of the course | Post16Study |
QualHours | 600 | Qualification hours for the post 16 study | Post16Study |
Subject | Ma | Subject associated with the post 16 study course | Post16Study |
ClassificationCode | Subject classification code associated with the post 16 study course | Post16Study | |
CoreAim | Core aim of the post 16 study course | Post16Study |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional student id |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Post16Study": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Retrieval of PriorAttainment date relating to Early Years / KS1 and KS2
Endpoint Description
Retrieval of Prior Attainment date relating to Early Years / KS1 and KS2.
Quick Links
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Retrieve records relating to a specific student |
Optional | DateFrom | Retrieve records on or after the date specified (yyyy-mm-dd) |
Optional | DateTo | Retrieve records on or before the date specified (yyyy-mm-dd) |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentMembers.StudentId | Students.Id | Retrieves details for the student |
school.assessmentstructure | AsmResults,AspectId | Aspects.Id | Aspect for which the result relates |
school.assessmentstructure | AsmResults.ResultSetId | ResultSets.Id | The specific resultset for which the results was recorded |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1233114 | The MIS Id of the group | School / SchoolLite |
StudentId | 10496 | The Student ID | School / SchoolLite |
AspectID | 3441 | The Aspect Id of the group | School / SchoolLite |
AspectName | KS2-MAT-MAM-TT-NE | Aspect name of group, e.g., "MA KS2: Maths Outcome AWL" | School / SchoolLite |
ResultId | 1233114 | The Result ID of group | Assessment results |
ResultsetId | 1 | The Result Set ID for this group | Assessment results |
Result | 2A | The Result description | Assessment results |
ResultValue | null | The Result value | Assessment results |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
StudentId | string Optional student id |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "PriorAttainment": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Special Educational Needs
School.SEN Endpoint
The School.SEN (Special Education Needs) endpoint retrieves students with special education needs (or optionally one student) at the school for which you have requested data. We provide filters to help you determine what type of disability and what severity you are looking at.
Quick Links
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | StudentId | Obtain SEN and disability details for a particular Student |
Optional | SENProvision | Choose what type of provision is returned from StudentSENProvisionHistory type |
Optional | SENTypeRank | Specifies the severity of SEN Type where 1 is most severe |
Optional | Active | Return currently active Types, Provisions, and Disabilities |
Types
Type
- StudentSENTypeHistory: Returns current and historical SEN types for a student.
- StudentSENProvisionHistory: Returns current and historical SEN provisions for a student.
- StudentDisabilities: Returns current and historical student disabilities.
Fields by Scope
StudentSENTypeHistory Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 100 | The MIS Id of the SEN type item | SENTypes |
StudentMis_Id | 9999 | The MIS Id for the Student | SENTypes |
NeedTypeDescription | Hearing Impairment | SEN Type description | SENTypes |
NeedTypeCode | HI | SEN Type code | SENTypes |
Rank | 2 | Rank (lowest is most severe) | SENTypes |
NeedNotes | Has a hearing impairment | Additional notes | SENTypes |
NeedStartDate | 2015-01-01 | Start date | SENTypes |
NeedEndDate | 2016-01-01 | End date | SENTypes |
Active | 0 | Currently active flag (1/0) | SENTypes |
StudentSENProvisionHistory Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9876654321987 | The MIS Id of the SEN provision item | SEN / SENTypes |
StudentMis_Id | 9999 | The MIS Id for the Student | SEN / SENTypes |
SENProvisionCode | K | SEN Provision type code | SEN / SENTypes |
SENProvisionDescription | SEN Support | SEN Provision description | SEN / SENTypes |
SENProvisionStartDate | 2015-01-01 | Start date | SEN / SENTypes |
SENProvisionEndDate | 2016-01-01 | End date | SEN / SENTypes |
Active | 0 | Currently active flag (1/0) | SEN / SENTypes |
StudentDisabilities Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 20 | The MIS Id of the student disability | SENTypes |
StudentMis_Id | 9999 | The MIS Id for the Student | SENTypes |
Disability | Problems with Mobility | Type of student disability | SENTypes |
DisabilityStartDate | 2015-01-01 | Start date | SENTypes |
DisabilityEndDate | 2015-01-01 | End date | SENTypes |
Active | 0 | Currently active flag (1/0) | SENTypes |
StudentSENReviews Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 20 | The MIS Id of SEN Review | SENReviews |
StudentMis_Id | 20 | The MIS Id of the student that is the subject of the review | SENTypes |
ReviewType | Annual | The type of review | SENTypes |
ReviewStatus | Planned | The status of the review | SENTypes |
ReviewDate | 2021-01-15 | The date of the review | SENTypes |
SENStatus | SEN Support | The SEN status | SENTypes |
Comments | Review to be conducted soon | Comments relating to the review | SENTypes |
SenCoordinatorName | Mrs A Zelinskova | Name of the SEN coordinator | SENTypes |
Roles | Agent,Employee,Teacher | Roles that the SEN coordinator has | SENTypes |
StaffLocalId | PWT-14 | If the SEN coordinator is a staff member, their local id | SENTypes |
StaffMis_Id | 14 | If the SEN coordinator is a staff member, their MIS id | SENTypes |
AgentLocalId | PA-14 | If the SEN coordinator is an agent, their local id | SENTypes |
AgentMis_id | 14 | If the SEN coordinator is an agent, their MIS id | SENTypes |
SENEvents Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 20 | The MIS Id of the SEN event | SENEvents |
Student_MisId | 2 | The MIS Id of the student the event relates to | SENEvents |
EventType | Educational Psychologist | The type of SEN event | SENEvents |
EventDate | 2023-01-02 | The date of the SEN event | SENEvents |
Comments | Free text comments relating to the event | SENEvents |
SENEventPersons Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the relationship between SEN event and person | SENEvents |
SENEventsId | 20 | Id of the SEN event | SENEvents |
PersonName | Mrs Ann Smith | Name of the person | SENEvents |
Roles | Agent,Employee,Teacher | CSV of roles the person has | SENEvents |
StaffLocalId | PWT-20 | If the person is a member of staff, their unique local ID | SENEvents |
StaffMis_Id | 20 | If the person is a member of staff, their MIS ID | SENEvents |
AgentLocalId | PA-72 | If the person is an agent, their unique local ID | SENEvents |
AgentMis_Id | 72 | If the person is an agent, their MIS ID | SENEvents |
ContactLocalId | PC-13 | If the person is a contact, their unique local ID | SENEvents |
ContactMis_Id | 13 | If the person is a contact, their MIS ID | SENEvents |
SENStatements Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 20 | ID of the SEN statement | SENStatements |
StudentMis_Id | 67 | MIS id of the student | SENStatements |
DateRequested | 2023-02-12 | Date the SEN statement was requested | SENStatements |
ConsultationDate | 2023-04-01 | Date of the SEN consultation | SENStatements |
TemporaryDisapplicationSubjects | Dance,Drama | Subjects that are temporarily disapplied | SENStatements |
PermanentDisapplicationSubjects | PE | Subjects that are permanently disapplied | SENStatements |
StatutoryAssessment | LA Agreed | Status of the statutory assessment | SENStatements |
StatementOutcome | Proposed Statement made | Outcome of the statutory assessment | SENStatements |
SubjectToTribunal | 1 | Flag indicating whether the statement is subject to tribunal (boolean) | SENStatements |
AppealNotes | Free text notes relating to the appeal | SENStatements | |
DateCeased | 2022-01-01 | Cease date of the statement | SENStatements |
DateFinalised | 2022-03-12 | Date Statement finalised | SENStatements |
Comments | Free text comments relating to the Statement | SENStatements | |
LEAAgentId | 4 | MIS id of the Agent relating to the Statement | SENStatements |
SENStatementDocuments Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 2 | Id of the relationship between the Statement and the document | SENStatements |
StatementId | 3 | Id of the Statement | SENStatements |
DocumentId | 7 | Id of the document | SENStatements |
SENEHCPlans Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the EHCP | SENEHCP |
StudentMis_Id | 2 | Id of the student the EHCP relates to | SENEHCP |
DateRequested | 2020-01-01 | Date the EHCP was requested | SENEHCP |
ConsultationDate | 2020-02-01 | Consultation date of the EHCP | SENEHCP |
TemporaryDisapplicationSubjects | Drama,PE | Subjects that are temporarily disapplied | SENEHCP |
PermanentDisapplicationSubjects | Dance | Subjects that are permanently disapplied | SENEHCP |
StatutoryAssessment | LA Agreed | Status of the statutory assessment | SENEHCP |
StatementOutcome | Proposed statement made | Outcome of the statutory assessment | SENEHCP |
SubjectToTribunal | 1 | Flag indicating whether the EHCP is subject to tribunal (boolean) | SENEHCP |
UndergoingSENDMediation | 1 | Flag indicating whether undergoing SEND mediation (boolean) | SENEHCP |
AppealNotes | Free text notes relating to the appeal | SENEHCP | |
DateCeased | 2021-01-01 | Cease date of the EHCP | SENEHCP |
DateFinalised | 2021-01-01 | Date EHCP finalised | SENEHCP |
Comments | 20 | Free text comments relating to the EHCP | SENEHCP |
SENEHCPlanDocuments Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the relationship between the plan and the document | SENEHCP |
SENEHCPlanId | 3 | Id of the plan | SENEHCP |
DocumentId | 6 | Id of the document | SENEHCP |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeSENReviews | boolean includeSENReviews |
includeSENEvents | boolean includeSENEvents |
includeSENStatements | boolean includeSENStatements |
includeSENEHCP | boolean includeSENEHCP |
StudentId | string Optional Studentid |
SENProvision | string Optional provision filter |
SENTypeRank | string Specify type rank |
Active | number Enum: 0 1 Filter to current records |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdate greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentSENTypeHistory": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "NeedTypeDescription": "string",
- "NeedTypeCode": "string",
- "Rank": "string",
- "NeedStartDate": "string",
- "Active": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StudentSENProvisionHistory": [
- [
- {
- "Id": 0,
- "StudentId": "string",
- "SENProvisionCode": "string",
- "SENProvisionDescription": "string",
- "SENProvisionStartDate": "string",
- "Active": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StudentDisabilities": [
- [
- {
- "Id": "string",
- "StudentId": "string",
- "Disability": "string",
- "DisabilityStartDate": "string",
- "Active": 0,
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StudentSENReviews": [
- [
- {
- "Id": "string",
- "StudentMis_Id": "string",
- "ReviewType": "string",
- "ReviewStatus": "string",
- "ReviewDate": "string",
- "SENStatus": "string",
- "Comments": "string",
- "SenCoordinatorName": "string",
- "Roles": "string",
- "StaffLocalId": "string",
- "StaffMis_Id": "string",
- "AgentLocalId": "string",
- "AgentMis_id": "string"
}
]
], - "SENEvents": [
- [
- {
- "Id": "string",
- "StudentMis_Id": "string",
- "EventType": "string",
- "EventDate": "string"
}
]
], - "SENEventPersons": [
- [
- {
- "Id": "string",
- "SENEventsId": "string",
- "PersonName": "string",
- "Roles": "string",
- "ContactLocalId": "string",
- "ContactMis_id": "string"
}
]
], - "SENStatements": [
- [
- {
- "Id": "string",
- "StudentMis_Id": "string",
- "DateRequested": "string",
- "ConsultationDate": "string",
- "StatutoryAssessment": "string",
- "StatementOutcome": "string",
- "SubjectToTribunal": 0,
- "DateCeased": "string",
- "DateFinalised": "string",
- "LEAAgentId": "string"
}
]
], - "SENStatementDocuments": [
- [
- {
- "Id": "string",
- "SENStatementId": "string",
- "DocumentId": "string"
}
]
], - "SENEHCP": [
- [
- {
- "Id": "string",
- "StudentMis_Id": "string",
- "DateRequested": "string",
- "ConsultationDate": "string",
- "StatutoryAssessment": "string",
- "EHCPOutcome": "string",
- "SubjectToTribunal": 0,
- "UndergoingSENDMediation": 0,
- "DateFinalised": "string",
- "Comments": "string",
- "LEAAgentId": "string"
}
]
], - "SENEHCPDocuments": [
- [
- {
- "Id": "string",
- "SENEHCPlanId": "string",
- "DocumentId": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student Contacts
Endpoint Description
Retrieve the relationship details between students and contacts, allowing the two result sets to be linked. Returns all available contacts by default. Use the available filters to limit the data returned.
Options
- includeExternalIds: Include the student and contact external ID field in the response.
- includeLeavers: Include records where the student is a leaver.
- includePreAdmissions: Include records where the student is pre-admission.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Provide a student or contact ID to retrieve all relevant records. |
Optional | relationship | Specify a specific relationship filter (e.g., "Mother"). |
Optional | priority | Filter to contacts with a specific priority. |
Optional | parresp | Filter to contacts with or without parental responsibility (1 or 0). |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentContact.StudentId | Students.Id | Retrieves details for the student |
school.contacts | Contacts.Id | Retrieves details for the contact |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-10000.PC-10001 | Unique Id for change comparison | Student/StudentLite + Contact |
StudentId | 10000 | The Id of the student | Student/StudentLite + Contact |
ContactId | 10001 | The Id of the related contact | Student/StudentLite + Contact |
Relationship | Mother | The relationship of the contact to the student | Student/StudentLite + Contact |
Priority | 2 | The contact priority where lowest is higher priority | Student/StudentLite + Contact |
ParResp | 1 | Parental responsibility flag defines legal responsibility | Student/StudentLite + Contact |
LastUpdated | 2016-07-21T12:17:16.74 | The last time this data was updated | Student/StudentLite + Contact |
RowHash | 05BA1E3777DC654DCAA81F1083EFF939CCEBFE06 | For change comparison | Student/StudentLite + Contact |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional ContactID or StudentID |
relationship | string Only return these relationships TODO- add list? |
priority | string Limit to priority TODO- add examples? |
parresp | string Parental responsibility filter TODO- add examples |
updatedSince | string <yyyy-MM-dd> filter by LastUpdated greater than |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentContacts": [
- [
- {
- "Id": "PL-12284.PC-12285",
- "StudentId": "12284",
- "ContactId": "12285",
- "Relationship": "Mother",
- "Priority": 1,
- "ParResp": 1,
- "CourtOrder": 0,
- "RowHash": "C6583C1E92D0C049135D597F9763F61994821351",
- "LastUpdated": "2025-02-14T19:14:37.135"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Fetch a list of Contacts
Endpoint Description
Returns contact details for the students that are currently on roll.
Options
Available option parameters for this endpoint:
- includePreAdmissions - Include contacts relating to PreAdmission students.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Make a request for a specific contact Id |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.studentcontacts | Contacts.Id | StudentContact.ContactId | Defines the relationship between a student and contact |
school.personcomms | Contacts.Id | PersonComms.PersonId | Additional contact methods for the person |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 9920 | The MIS Id of the contact | Contact |
IdaasId | PC-9920 | The Idaas Id of the contact | Contact |
ExternalId | a7475dba-d702-4a98-966b-dab44fe2cca9 | The MIS External Id of the contact | Contact |
Title | Mrs | Title of the contact | Contact |
Suffix | B.S.C. | Suffix of the contact | Contact |
Surname | Abbess | Surname of the contact | Contact |
Forename | Hilda | Forename of the contact | Contact |
DisplayName | Mrs Hilda Abbess | Full name of the contact | Contact |
HomeLanguage | French | Home language of the contact | Contact |
HomeLanguageCode | FRA | Home language code of the contact | Contact |
TranslatorRequired | 1 | Whether the contact requires a translator, boolean | Contact |
WorkEmail | habbess@parentwork.net | Main work email of the contact | Contact |
WorkPhone | 01245855555 | Main work phone of the contact | Contact |
HomeEmail | habbess@parenthome.com | Main home email of the contact | Contact |
HomePhone | 01688779985 | Main home phone of the contact | Contact |
MobilePhone | 07799988773 | Main mobile phone of the contact | Contact |
AddressBlock | 22 Winch Road\nKingston\nDerby\nD12 5BA\nUK | Address block data for the contact | Contact |
HouseNo | 22 | The number of the addressed building | Contact |
HouseName | null | The name of the addressed building | Contact |
Apartment | null | The number of the sub dwelling of the addressed building | Contact |
Street | Winch Road | The name of the street | Contact |
District | Kingston | The name of the local district or area | Contact |
TownOrCity | Derby | The name of the major town or city | Contact |
County | Derby | The name of the county | Contact |
PostCode | D12 5BA | The post code of the address | Contact |
Country | UK | The residing country for the address | Contact |
LastUpdated | 2016-06-30T16:06:40.658 | The last time this data was updated | Contact |
RowHash | 0ABBDC032F8896F557FCF0F6FA53272A2AAA5F54 | For change comparison | Contact |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
updatedSince | string <yyyy-MM-dd> Filter where last updated greater than date |
includeChildIdaasIds | boolean enable the ChildIdaasIds column where the contact has parental responsibility |
includeChildXIDs | boolean enable the ChildXIDs column where the contact has parental responsibility |
includePreAdmissions | boolean include records where the student is PreAdmission |
includeRestrictedRelationships | boolean include contacts with a court order restriction |
onlyParentalResponsibility | boolean Only include contacts with parental responsiblity for at least one student |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Contacts": [
- [
- {
- "Id": "string",
- "XID": "string",
- "IdaasId": "string",
- "ExternalId": "string",
- "Title": "string",
- "Surname": "string",
- "Forename": "string",
- "DisplayName": "string",
- "Gender": "string",
- "TranslatorRequired": 0,
- "HomePhone": "string",
- "AddressBlock": "string",
- "HouseNo": "string",
- "Street": "string",
- "District": "string",
- "TownOrCity": "string",
- "PostCode": "string",
- "Country": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Fetch a list of contactuserdefinedfields
Endpoint Description
Retrieve User Defined Field values for Contacts. Use the UserDefinedFields endpoint to get a list of fields for use with this endpoint.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | UDFName | CSV of UDF Names to retrieve |
Optional | ContactId | Filter to a specific contact's UDF values |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.userdefinedfields | ContactUDFs.UDFName | UDFs.UDFName | UDF Names |
school.Contacts | ContactUDFs.ContactId | Contacts.Id | Main contact record |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 11242 | Id of UDF / Contact link | ContactFreeText |
ContactId | 9919 | Contact Id | ContactFreeText |
UDFName | Locker Number | Name of UDF | ContactFreeText |
UDFValue | 120 | Value of the UDF | ContactFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string optional contact id |
UDFName | string <csv> CSV of UDF values to return |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Contacts": [
- [
- {
- "Id": "string"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Student Contacts
Endpoint Description
Retrieve the relationship details between students and contacts, allowing the two result sets to be linked. Returns all available contacts by default. Use the available filters to limit the data returned.
Options
- includeExternalIds: Include the student and contact external ID field in the response.
- includeLeavers: Include records where the student is a leaver.
- includePreAdmissions: Include records where the student is pre-admission.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | id | Provide a student or contact ID to retrieve all relevant records. |
Optional | relationship | Specify a specific relationship filter (e.g., "Mother"). |
Optional | priority | Filter to contacts with a specific priority. |
Optional | parresp | Filter to contacts with or without parental responsibility (1 or 0). |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.students | StudentContact.StudentId | Students.Id | Retrieves details for the student |
school.contacts | Contacts.Id | Retrieves details for the contact |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | PL-10000.PC-10001 | Unique Id for change comparison | Student/StudentLite + Contact |
StudentId | 10000 | The Id of the student | Student/StudentLite + Contact |
ContactId | 10001 | The Id of the related contact | Student/StudentLite + Contact |
Relationship | Mother | The relationship of the contact to the student | Student/StudentLite + Contact |
Priority | 2 | The contact priority where lowest is higher priority | Student/StudentLite + Contact |
ParResp | 1 | Parental responsibility flag defines legal responsibility | Student/StudentLite + Contact |
LastUpdated | 2016-07-21T12:17:16.74 | The last time this data was updated | Student/StudentLite + Contact |
RowHash | 05BA1E3777DC654DCAA81F1083EFF939CCEBFE06 | For change comparison | Student/StudentLite + Contact |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
id | string Optional ContactID or StudentID |
relationship | string Only return these relationships TODO- add list? |
priority | string Limit to priority TODO- add examples? |
parresp | string Parental responsibility filter TODO- add examples |
updatedSince | string <yyyy-MM-dd> filter by LastUpdated greater than |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StudentContacts": [
- [
- {
- "Id": "PL-12284.PC-12285",
- "StudentId": "12284",
- "ContactId": "12285",
- "Relationship": "Mother",
- "Priority": 1,
- "ParResp": 1,
- "CourtOrder": 0,
- "RowHash": "C6583C1E92D0C049135D597F9763F61994821351",
- "LastUpdated": "2025-02-14T19:14:37.135"
}
]
], - "meta": [
- {
- "Id": 0,
- "MIS": "string",
- "Version": "string",
- "DateTime": "2019-08-24T14:15:22Z",
- "Estab": "string"
}
], - "__pagination__": [
- {
- "PageSize": 0,
- "PageNumber": 0,
- "PageCount": 0,
- "RowCount": 0,
- "NextPage": "string"
}
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Counts of the number of students, staff, contacts, groups and photos for this school
Endpoint Description
Retrieve total counts of students, contacts, staff, groups, and available photos for active people.
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Area | Students | Area for count | School / SchoolLite |
Count | 1017 | Count of entities | School / SchoolLite |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "counts": [
- [
- {
- "Id": 0,
- "Area": "string",
- "Count": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Staff
School.Staff Endpoint
The School.Staff endpoint returns data on all current staff members at the school for which you have requested data. This includes teachers and non-teaching staff such as teaching support and administrators. We provide flags to help you determine what type of staff you are looking at.
Options
- includePhotos: Set to enable the staff photo column in the result set.
- teachersOnly: Only include members of staff where
IsTeacher = 1
. - includeGroupIds: Set to include CSV of GroupIds the staff member belongs to.
- includeGroupIdaasIds: Set to include CSV of Idaas GroupIds the staff member belongs to.
- includeGroupXIDs: Set to enable GroupXIDs column.
- includeFuture: Set to include future staff.
- includePrevious: Set to include staff who have left either in the current or the previous academic year.
- includeTemporary: Set to include staff who are considered temporary. In SIMS, this means that they do not have an employment start date but they are associated with active groups.
- includeHierarchy: Set to include staff hierarchy.
- includeStaffSWAC: Set to include staff SWAC roles.
Filters
- id: Optional filter to return a single staff member using their id property.
- updatedSince: Optional filter to return records that have been updated since this value.
Types
Details about specific types can be added here if relevant.
Related Endpoints
Details about related endpoints can be added here if relevant.
Fields by Scope
Staff Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The MIS Id of the staff member | Staff / StaffLite |
ExternalId | 8ad4a7ae-aa02-49aa-8901-528d3c44bcc6 | The external Id of the staff member | Staff / StaffLite |
IdaasId | PWT-5 | The Idaas Id of the staff member | Staff / StaffLite |
Title | Mr | Title of the staff member | Staff / StaffLite |
Suffix | BSc | Suffix of the staff member | Staff / StaffLite |
StaffCode | ML | Abbreviated staff code from the MIS | Staff / StaffLite |
StaffStatus | Current | Whether the staff member is current, previous or future | Staff / StaffLite |
TeacherCategory | Qualified Teacher | The category of teacher | Staff / StaffLite |
Forename | Mark | Forename of the staff member | Staff / StaffLite |
Surname | Lubbock | Surname of the staff member | Staff / StaffLite |
DisplayName | Mr M Lubbock | Staff title, first initial and surname | Staff / StaffLite |
IdaasEmail | test@work.net | Email address provisioned by Idaas, if available | Staff / StaffLite |
WorkEmail | test@work.net | Work email for the staff member | Staff / StaffLite |
WorkPhone | 02221348798 | Work telephone for the staff member | Staff / StaffLite |
IsTeacher | 1 | Flag defining if the staff member is a teacher | Staff / StaffLite |
IsSupport | 0 | Flag defining if the staff member is support staff | Staff / StaffLite |
IsSupply | 0 | Flag defining if the staff member is supply staff | Staff / StaffLite |
IsGovernor | 0 | Flag defining if the staff member is a Governor | Staff / StaffLite |
RegGroup | 10A | The registration group(s) the staff member belongs to | School GroupIds |
GroupIds | 9576,9543,9555,9521 | CSV of GroupIds the staff member belongs to | School GroupIds |
GroupIdaasIds | GC-9576,GC-9543,GC-9555,GC-9521 | CSV of Idaas GroupIds the staff member belongs to | School GroupIdaasIds |
Gender | M | The gender of the staff member | StaffExtended |
MiddleName | James | The middle name of the staff member | StaffExtended |
LegalForename | Mark | The legal forename of the staff member | StaffExtended |
LegalSurname | Lubbock | The legal surname of the staff member | StaffExtended |
DateOfBirth | 1960-03-19 | The date of birth of the staff member | StaffExtended |
MobilePhone | 07912345678 | The main mobile phone of the staff member | StaffExtended |
PayrollNumber | R275628 | The payroll number of the staff member | StaffEmployment |
NINumber | ZN248685D | The NI number of the staff member | StaffEmployment |
TeacherNumber | 72/10896 | The teacher number of the staff member | StaffEmployment |
EmploymentStart | 1972-03-02 | The employment term start date | StaffEmployment |
EmploymentEnd | null | The employment term end date | StaffEmployment |
Roles | Teacher,Headteacher | CBDS standardized list of roles associated with the staff | StaffEmployment |
RoleCodes | TCHR,HDTR | CBDS standardized list of role codes | StaffEmployment |
HomeEmail | marklubs@homemail.net | The main home email address of the staff member | StaffPersonalContact |
HomePhone | 02038888888 | The main home telephone number of the staff member | StaffPersonalContact |
AddressBlock | 11\nUpham Road\nSwindon\nSN3 1EE\nUnited Kingdom | Address block data for the staff home address | StaffAddress |
HouseNo | null | The number of the Primary Addressable Object | StaffAddress |
HouseName | Charlton House | The name or description of the Primary Addressable Object | StaffAddress |
Apartment | Flat 1 | The number or description of the Secondary Addressable Object | StaffAddress |
Street | Upham Road | The street name of the address | StaffAddress |
District | null | The local area of the address | StaffAddress |
TownOrCity | Swindon | The main town or city of the address | StaffAddress |
County | null | The county of the address | StaffAddress |
PostCode | SN3 1EE | The post code of the address | StaffAddress |
Country | United Kingdom | The country of the address | StaffAddress |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | Staff / StaffLite |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | Staff / StaffLite |
StaffHierarchy Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | Man.5.7 | The MIS Id of the staff hierarchy record | StaffEmployment |
ParentStaffId | 5 | The MIS Id of the parent staff member | StaffEmployment |
ChildStaffId | 7 | The MIS Id of the child staff member | StaffEmployment |
ParentRelationshipTitle | Manager | The relationship title of the parent staff member | StaffEmployment |
ChildRelationshipTitle | Reportee | The relationship title of the child staff member | StaffEmployment |
StartDate | 2014-09-10 | The start date of the hierarchy record | StaffEmployment |
EndDate | 2020-09-10 | The end date of the hierarchy record | StaffEmployment |
StaffMotorVehicles Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
StaffId | 24 | The MIS Id of the staff member | StaffExtended |
VehicleID | 2 | The MIS id of the vehicle | StaffExtended |
VehicleModel | Ford | The model of the vehicle | StaffExtended |
VehicleColour | Red | The colour of the vehicle | StaffExtended |
VehicleRegistration | MR03DRM | The registration number of the vehicle | StaffExtended |
StaffNextOfKin Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
StaffId | 1 | StaffNextOfKin | |
ContactId | 2 | StaffNextOfKin | |
StaffMis_Id | 1 | StaffNextOfKin | |
ContactMis_Id | 2 | StaffNextOfKin | |
FullName | Jane Smith | StaffNextOfKin | |
Forename | Jane | StaffNextOfKin | |
Surname | Smith | StaffNextOfKin | |
MiddleName | Regard | StaffNextOfKin | |
Title | Mrs | StaffNextOfKin | |
Gender | F | StaffNextOfKin | |
Role | StaffNextOfKin | ||
DOB | StaffNextOfKin | ||
HomeEmail | StaffNextOfKin | ||
WorkEmail | StaffNextOfKin | ||
PrimaryEmail | StaffNextOfKin | ||
HomePhone | StaffNextOfKin | ||
WorkPhone | StaffNextOfKin | ||
MobilePhone | StaffNextOfKin | ||
HouseNumber | StaffNextOfKin | ||
HouseName | StaffNextOfKin | ||
Apartment | StaffNextOfKin | ||
Street | StaffNextOfKin | ||
District | StaffNextOfKin | ||
Town | StaffNextOfKin | ||
County | StaffNextOfKin | ||
Country | StaffNextOfKin | ||
PostCode | StaffNextOfKin | ||
AddressBlock | StaffNextOfKin |
StaffSWAC Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1 | Id of the staff - SWAC record | StaffEmployment |
StaffMis_Id | 26 | MIS id of the staff member | StaffEmployment |
SWACRole | Qualified Teacher | SWAC role of the staff member | StaffEmployment |
MainRole | 1 | Whether this role is the main role for the staff member, boolean | StaffEmployment |
FTE | 0.5 | Full-time equivalent for this role | StaffEmployment |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includePhotos | boolean Set to enable the staff photo column in the result set |
includeGroupIds | boolean Set to enable GroupIds column |
includeGroupIdaasIds | boolean Set to enable GroupIdaasIds column |
includeGroupXIDs | boolean Set to enable GroupXIDs column |
teachersOnly | boolean Only include teachers in the response |
includeFuture | boolean Set to include future staff |
includePrevious | boolean Set to include staff who have left either in the current or the previous academic year |
includeTemporary | boolean Set to include staff who are considered temporary |
includeHierarchy | boolean Set to include staff hierarchy |
includeStaffVehicles | boolean Set to include data about staff vehicle |
includeStaffNextOfKin | boolean Set to include data about staff next of kin |
includeStaffSWAC | boolean Set to include data about staff SWAC roles |
id | string Optional staff ID |
staffStatus | string Enum: "Current" "Future" "Previous" "Temporary" Filter by staff status |
updatedSince | string <yyyy-MM-dd> Filter by LastUpdate greater than this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Staff": [
- [
- {
- "Id": "string",
- "XID": "string",
- "IdaasId": "string",
- "ExternalId": "string",
- "Title": "string",
- "Suffix": "string",
- "StaffCode": "string",
- "StaffStatus": "string",
- "TeacherCategory": "string",
- "Forename": "string",
- "Surname": "string",
- "DisplayName": "string",
- "WorkEmail": "string",
- "Gender": "string",
- "LegalForename": "string",
- "LegalSurname": "string",
- "DateOfBirth": "string",
- "NINumber": "string",
- "TeacherNumber": "string",
- "EmploymentStart": "string",
- "Roles": "string",
- "RoleCodes": "string",
- "HomePhone": "string",
- "HLTAStatus": 0,
- "QTS": 0,
- "QTSRoute": "string",
- "NPQHStatus": 0,
- "EYTStatus": 0,
- "EthnicityCode": "string",
- "AddressBlock": "string",
- "HouseName": "string",
- "Apartment": "string",
- "Street": "string",
- "TownOrCity": "string",
- "PostCode": "string",
- "Country": "string",
- "IsTeacher": 0,
- "IsSupport": 0,
- "IsGovernor": 0,
- "LastUpdated": "string",
- "RowHash": "string",
- "IsThirdParty": 0
}
]
], - "StaffHierarchy": [
- [
- {
- "Id": "string",
- "ParentStaffId": "string",
- "ChildStaffId": "string",
- "ParentRelationshipTitle": "string",
- "ChildRelationshipTitle": "string",
- "StartDate": "string"
}
]
], - "StaffVehicles": [
- [
- {
- "StaffId": 0,
- "VehicleID": 0,
- "VehicleModel": "string",
- "VehicleColour": "string",
- "VehicleRegistration": "string"
}
]
], - "StaffNextOfKin": [
- [
- {
- "StaffId": "string",
- "ContactId": "string",
- "StaffMis_Id": 0,
- "ContactMis_Id": 0,
- "FullName": "string",
- "Forename": "string",
- "Surname": "string",
- "Title": "string",
- "Role": "string",
- "HomePhone": "string",
- "HouseNumber": "string",
- "Street": "string",
- "Town": "string",
- "Country": "string",
- "PostCode": "string",
- "AddressBlock": "string"
}
]
], - "StaffSWAC": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffAbsence
Endpoint Description
Retrieve staff absence data.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | FromDate | Only return absence on or after this date. |
Optional | ToDate | Only return absence on or before this date. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.staff | Staff.Id | StaffAbsence.StaffId | Main endpoint for staff information |
Fields by Scope
StaffAbsence Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 100 | Primary Key | StaffAbsence |
StaffId | 27 | Foreign key references Staff endpoint | StaffAbsence |
AbsenceStartDate | 2006-06-05T00:00:00 | Start date of the absence, including time. Can be filtered on | StaffAbsence |
AbsenceStartTime | 00:00 | Start time of the absence | StaffAbsence |
AbsenceEndDate | 2006-06-05T23:59:00 | End date of the absence, including time. Can be filtered on | StaffAbsence |
AbsenceEndTime | 23:59 | End time of the absence | StaffAbsence |
AbsenceType | Self-certificated | Absence type from the MIS | StaffAbsence |
IllnessCategory | Not specified | Specific illness category from the MIS | StaffAbsence |
WorkingDaysLost | 1 | Number of working days lost | StaffAbsence |
HoursLost | 0 | Specific number of working hours lost | StaffAbsence |
SSPExclusion | 0 | Statutory sick pay (1 / 0) | StaffAbsence |
AnnualLeave | 0 | Counted as annual leave (1 / 0) | StaffAbsence |
IndustrialInjury | 0 | Marked as industrial injury (1 / 0) | StaffAbsence |
PayrollAbsenceCategory | Absent | Category for payroll purposes | StaffAbsence |
AuthorisedPayRate | Full Pay Rate | Pay rate determined for absence period | StaffAbsence |
AbsenceNote | Please review in future | Additional description for the absence | StaffAbsence |
AbsenceCertificate Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 86 | Primary key | StaffAbsence |
AbsenceId | 108 | Foreign key references StaffAbsence | StaffAbsence |
CertDateReceived | 2006-05-16T00:00:00 | Date the certificate was received | StaffAbsence |
CertDateSigned | 2006-05-16T00:00:00 | Date the certificate was signed | StaffAbsence |
CertCertType | Refrain from Work | Certificate type from the MIS | StaffAbsence |
CertSignedBy | Self | Certificate signed by lookup from the MIS | StaffAbsence |
CertSignatoryType | Self | Signatory type from the MIS | StaffAbsence |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
FromDate | string <yyyy-MM-dd> Only return absence on or after this date |
ToDate | string <yyyy-MM-dd> Only return absence aon or before this date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffAbsence": [
- [
- {
- "Id": "string",
- "StaffId": 0,
- "AbsenceStartDate": "string",
- "AbsenceStartTime": "string",
- "AbsenceEndDate": "string",
- "AbsenceEndTime": "string",
- "AbsenceType": "string",
- "WorkingDaysLost": 0,
- "HoursLost": 0,
- "SSPExclusion": 0,
- "AnnualLeave": 0,
- "IndustrialInjury": 0,
- "AuthorisedPayRate": "string",
- "AbsenceNote": "string"
}
]
], - "AbsenceCertificate": [
- [
- {
- "Id": "string",
- "AbsenceId": "string",
- "CertDateReceived": "string",
- "CertDateReceived1": "string",
- "CertCertType": "string",
- "CertSignedBy": "string",
- "CertSignatoryType": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffChecks
School.StaffChecks Endpoint
The School.StaffChecks endpoint returns information about checks conducted on staff. An optional StaffId can be used to filter to a single staff member.
Options
- includeFuture: Set to include records for future staff.
- includePrevious: Set to include records for previous staff from either the current or the previous academic year.
- includeTemporary: Set to include records for temporary staff.
Filters
- staffId: Optional filter to return details for a single staff member.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.staff | Staff.Id | StaffChecks.StaffMis_Id | Main endpoint for staff information |
school.staff | Staff.IdaasId | StaffChecks.StaffLocalId | Main endpoint for staff information |
Fields by Scope
StaffChecks Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The unique id of the check | StaffChecks |
StaffMis_Id | 761 | The MIS Id of the staff member | StaffChecks |
StaffLocalId | PWT-761 | The local Id of the staff member | StaffChecks |
CheckCode | DBS | The code of the check type | StaffChecks |
CheckDescription | DBS Check | The description of the check type | StaffChecks |
RequestDate | 2019-07-09 | The date the check was requested | StaffChecks |
ClearanceDate | 2019-07-09 | The date the check cleared | StaffChecks |
ClearanceLevel | Enhanced Clearance | The level of the check clearance | StaffChecks |
ExpiryDate | 2021-07-09 | The date the check expires | StaffChecks |
ReferenceNumber | 09866091 | The check reference number | StaffChecks |
DocumentNumber | 001287901123 | The contract weeks per year | StaffChecks |
AuthenticatedBy | Head Teacher | Reference to the person who authenticated the check | StaffChecks |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | StaffChecks |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | StaffChecks |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeFuture | boolean Set to include future staff |
includePrevious | boolean Set to include staff who have left either in the current or the previous academic year |
includeTemporary | boolean Set to include staff who are considered temporary |
StaffId | string Optional staff ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffChecks": [
- [
- {
- "Id": "string",
- "StaffMis_Id": "string",
- "StaffLocalId": "string",
- "StaffStatus": "string",
- "CheckCode": "string",
- "CheckDescription": "string",
- "RequestDate": "string",
- "ClearanceDate": "string",
- "ClearanceLevel": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffContracts
School.StaffContracts Endpoint
The School.StaffContracts endpoint returns contract and role information for current staff members. An optional StaffId can be used to filter to a single staff member.
Options
- includeStaffSalaries: Set to include information about staff salaries.
- includeStaffScales: Set to include information about staff scales.
- includeStaffAllowances: Set to include information about staff allowances.
- includeFuture: Set to include future contracts.
- includePrevious: Set to include previous contracts from either the current or the previous academic year.
Filters
- staffId: Optional filter to return contract and role information for a single staff member.
Types
Details about specific types can be added here if relevant.
Related Endpoints
Details about related endpoints can be added here if relevant.
Fields by Scope
StaffContracts Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The MIS Id of the contract | StaffContractual |
StaffId | 761 | The MIS Id of the staff member | StaffContractual |
EmploymentType | Permanent | The employment type of the contract | StaffContractual |
ServiceTerm | Leadership | The contract service term | StaffContractual |
Post | Assistant Head | The contract post | StaffContractual |
PostCategory | Assistant Head | The contract post category | StaffContractual |
StdPostCode | AHT | Standardised contract post code | StaffContractual |
StdPostName | Assistant Head Teacher | Standardised contract post name | StaffContractual |
ContractStartDate | 2016-01-26 | The contract start date | StaffContractual |
ContractEndDate | 2016-01-26 | The contract end date | StaffContractual |
ContractHoursPerWeek | 35 | The contract hours per week | StaffContractual |
ContractWeeksPerYear | 38.2 | The contract weeks per year | StaffContractual |
ContractFTE | 0.9 | The contract full time equivalent | StaffContractual |
PayrollNumber | PR577326 | The contract / payroll number | StaffContractual |
PayFactor | 1.0 | The pay factor | StaffContractual |
Salary | 16491.5 | The salary for the contract | StaffContractual |
SalaryFTE | 16491.5 | The full time equivalent salary for the contract | StaffContractual |
TotalPay | 0.9 | The total pay for the contract | StaffContractual |
LastPayReview | 2017-01-23 | The date of the latest pay review | StaffContractual |
PensionType | 0.9 | The pension type or superannuation for the contract | StaffContractual |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | StaffContractual |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | StaffContractual |
StaffRoles Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The MIS Id of the contract role | StaffContractual |
ContractId | 761 | The Id of the contract | StaffContractual |
Role | Assistant Head | The role name | StaffContractual |
RoleStartDate | 2016-01-26 | The role start date | StaffContractual |
RoleEndDate | 2016-01-26 | The role end date | StaffContractual |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | StaffContractual |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | StaffContractual |
StaffScales Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The MIS Id of the contract scale | StaffContractual |
ContractId | 761 | The Id of the contract | StaffContractual |
StartDate | 2016-01-26 | The scale start date | StaffContractual |
EndDate | 2016-01-26 | The scale end date | StaffContractual |
ScalePoint | 6.2 | The scale point | StaffContractual |
PayScale | Teachers Main Scale | The name of the pay scale | StaffContractual |
PayScaleCode | TMS | The code of the pay scale | StaffContractual |
MinimumAmount | 38984.5 | The minimum amount for the pay scale | StaffContractual |
MaximumAmount | 59264.5 | The maximum amount for the pay scale | StaffContractual |
StaffAllowances Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The MIS Id of the contract allowance | StaffContractual |
ContractId | 761 | The Id of the contract | StaffContractual |
StartDate | 2016-01-26 | The allowance start date | StaffContractual |
EndDate | 2016-01-26 | The allowance end date | StaffContractual |
Amount | 6450.5 | The allowance amount | StaffContractual |
Type | Permanent | The allowance type | StaffContractual |
Description | Teacher Learning 2C | The allowance description | StaffContractual |
Code | TL2C | The allowance code | StaffContractual |
Reason | None given | The allowance reason | StaffContractual |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeStaffSalaries | boolean Includes salary information in the StaffContracts table. |
includeStaffScales | boolean Includes information about pay scales in the StaffScales table. |
includeStaffAllowances | boolean Includes information about allowances in the StaffAllowances table. |
includeFuture | boolean Set to include future staff |
includePrevious | boolean Set to include staff who have left either in the current or the previous academic year |
StaffId | string Optional staff ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffContracts": [
- [
- {
- "Id": "string",
- "StaffId": "string",
- "EmploymentType": "string",
- "ServiceTerm": "string",
- "PostCategory": "string",
- "StdPostName": "string",
- "StdPostCode": "string",
- "ContractStartDate": "string",
- "ContractHoursPerWeek": 0,
- "ContractWeeksPerYear": 0,
- "ContractFTE": 0,
- "PayrollNumber": "string",
- "PayFactor": 0,
- "Salary": 0,
- "SalaryFTE": 0,
- "TotalPay": 0,
- "LastPayReview": "string",
- "PensionType": "string",
- "SafeguardedSalary": "string",
- "Origin": "string",
- "EligibleForSWR": 0,
- "SuperannuationSchemeValue": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StaffRoles": [
- [
- {
- "Id": "string",
- "ContractId": "string",
- "Code": "string",
- "Role": "string",
- "RoleStartDate": "string",
- "LastUpdated": "string",
- "RowHash": "string"
}
]
], - "StaffScales": [
- [
- {
- "Id": "string",
- "ContractId": "string",
- "StartDate": "string",
- "ScalePoint": 0,
- "PayScale": "string",
- "PayScaleCode": "string"
}
]
], - "StaffAllowances": [
- [
- {
- "Id": "string",
- "ContractId": "string",
- "StartDate": "string",
- "Amount": 0,
- "Type": "string",
- "Description": "string",
- "Code": "string"
}
]
], - "StaffWorkingPatterns": [
- [
- {
- "Id": "string",
- "StaffId": "string",
- "StartTime": "string",
- "EndTime": "string",
- "DaysOfWeek": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffLinkedDocuments
Endpoint Description
Retrieves a list of staff linked documents and their attachments. The Document Type Name is a required parameter and can be retrieved from the LinkedDocumentTypes endpoint. Because the filesize of the attachments is potentially large, StaffId, DateFrom, and DateTo are also required parameters. If you require many attachments, please make multiple requests.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | DocumentTypeName | Request linked documents for a single document type. |
Mandatory | StaffIds | Request linked documents for a specific set of staff (comma-separated). |
Mandatory | DateFrom | Request linked documents for a specific date range. This is highly recommended when there are a lot of documents. |
Mandatory | DateTo | Request linked documents for a specific date range. This is highly recommended when there are a lot of documents. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.linkeddocumenttypes | DocumentAttachments.DocumentTypeName | DocumentTypes.DocumentTypeName | Linked document types |
school.staff | DocumentAttachments.StaffId | Staff.Id | Staff |
Fields by Scope
DocumentAttachments Dataset
Public documents and their attachments for the chosen document type.
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 32 | Id of the linked document | StaffFreeText |
StaffId | 6574 | Id of the associated staff | StaffFreeText |
FileName | Photo1.jpg.gz | Name of the file | StaffFreeText |
DocumentTypeName | General Document | The document type name | StaffFreeText |
Size | 65616 | Original size of the attachment (bytes) | StaffFreeText |
CompressedSize | 59833 | Compressed size of the attachment (bytes) | StaffFreeText |
Attachment | The document attachment (binary) | StaffFreeText | |
Summary | Approach to Class (02/11/2017) | Summary of the document contents | StaffFreeText |
LastModified | 2017-11-23 | Date the document was last modified (yyyy-MM-dd) | StaffFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DocumentTypeId required | string Mandatory document type id |
StaffIds required | string <CSV> Mandatory CSV of staff ids |
DateFrom required | string <yyyy-MM-dd> Mandatory start date |
DateTo required | string <yyyy-MM-dd> Mandatory end date |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "DocumentAttachments": [
- [
- {
- "Id": "string",
- "StudentId": 0,
- "DocumentTypeName": "string",
- "Size": 0,
- "CompressedSize": 0,
- "Summary": "string",
- "LastModified": "string",
- "Confidential": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffImpairments
Staff Impairments
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffImpairments": [
- [
- {
- "StaffId": 0,
- "Impairment": "string",
- "Category": "string",
- "DateAdvised": "string",
- "AffectsWorkingAbility": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffQualifications
School.StaffQualifications Endpoint
The School.StaffQualifications endpoint returns information about staff qualifications. An optional StaffId can be used to filter to a single staff member.
Options
- includeFuture: Set to include records for future staff.
- includePrevious: Set to include records for previous staff from either the current or the previous academic year.
- includeTemporary: Set to include records for temporary staff.
Filters
- staffId: Optional filter to return details for a single staff member.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.staff | Staff.Id | StaffChecks.StaffMis_Id | Main endpoint for staff information |
school.staff | Staff.IdaasId | StaffChecks.StaffLocalId | Main endpoint for staff information |
Fields by Scope
StaffQualifications Dataset
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 5 | The unique id of the qualification | StaffQualifications |
StaffMis_Id | 761 | The MIS Id of the staff member | StaffQualifications |
StaffLocalId | PWT-761 | The local Id of the staff member | StaffQualifications |
QualificationName | BA | The name of the qualification | StaffQualifications |
QualificationDescription | Bachelor of Arts | The qualification description | StaffQualifications |
DateAwarded | 2019-04-05 | The date the qualification was awarded | StaffQualifications |
QualificationLevel | Other First Degree or equivalent | The level of the qualification | StaffQualifications |
FirstSubject | French studies - R100 | The first subject of the qualification | StaffQualifications |
SecondSubject | Fine art - W100 | The second subject of the qualification | StaffQualifications |
DegreeClass | Lower second class honours | The qualification degree class | StaffQualifications |
OriginCountry | British | The qualification origin country | StaffQualifications |
Verified | 1 | Whether the qualification has been verified (1 or 0) | StaffQualifications |
LastUpdated | 2016-07-07T18:09:06.46 | The last time this data was updated | StaffQualifications |
RowHash | 88DE1756AB2FA02D445B37CFC22DE2827925CA38 | For change comparison | StaffQualifications |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeFuture | boolean Set to include future staff |
includePrevious | boolean Set to include staff who have left either in the current or the previous academic year |
includeTemporary | boolean Set to include staff who are considered temporary |
StaffId | string Optional staff ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffQualifications": [
- [
- {
- "Id": "string",
- "StaffMis_Id": "string",
- "StaffLocalId": "string",
- "StaffStatus": "string",
- "QualificationName": "string",
- "QualificationDescription": "string",
- "QualificationLevel": "string",
- "FirstSubject": "string",
- "DegreeClass": "string",
- "OriginCountry": "string",
- "Verified": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
StaffTraining
Staff training
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Id | string Optional staff ID |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffTraining": [
- [
- {
- "Id": 0,
- "StaffId": "string",
- "Title": "string",
- "Organiser": "string",
- "Description": "string",
- "Venue": "string",
- "StartDate": "string",
- "EndDate": "string",
- "CourseFees": 0,
- "OtherCosts": 0,
- "TotalCost": 0,
- "FullTime": 0,
- "Completed": 0,
- "NumDays": 0
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
staffuserdefinedfields
Endpoint Description
Retrieve User Defined Field values for staff. Use the UserDefinedFields endpoint to get a list of fields for use with this endpoint.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | UDFName | CSV of UDF Names to retrieve. |
Optional | StaffId | Filter to a specific staff member. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.userdefinedfields | StaffUDFs.UDFName | UDFs.UDFName | UDF Names |
school.Staff | StaffUDFs.StaffId | Staff.Id | Main staff record |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 11242 | Id of UDF / Stafflink | StaffFreeText |
StaffId | 9919 | Staff Id | StaffFreeText |
UDFName | Locker Number | Name of UDF | StaffFreeText |
UDFValue | 120 | Value of the UDF | StaffFreeText |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
Id | string Optional staff ID |
UDFName required | string Mandatory CSV of UDF values to return |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "StaffUDFs": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable
Endpoint Description
This endpoint returns structural timetable information to allow you to build a view of the timetables, lessons, staff, and physical locations being used in the school day-to-day. The endpoint will return an empty set unless at least one of the options below are selected.
Options
- includeLessons: Return the list of lesson definitions.
- includeLessonStaff: Return the list of staff linked to timetabled lessons.
- includeLessonRooms: Return the list of rooms to which the timetabled lessons are allocated.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Optional | DateFrom | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to one week before the current date. |
Optional | DateTo | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to two weeks from the current date. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.staff | LessonStaff.StaffId | Staff.Id | Staff member details |
school.groups | Lessons.ClassId | Groups.Id | Group definitions |
school.groups | Lessons.ClassId | StudentMembers.StudentId | Student group memberships |
POST.LessonAttendance | Lessons.PeriodId | Marks.InstanceId | Lesson attendance writeback |
Fields by Scope
Lessons
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 81 | Id of the specific lesson | School |
PeriodId | 46297 | Id of this specific instance | School |
ClassId | 9929 | Id of the group taught in this lesson | School |
JoinedId | 82 | Id of subsequent lesson in double period | School |
ClassName | 7A\Hi | Name of the group taught in this lesson | School |
Period | Mon:3 | The occurrence in the cycle | School |
StartDateTime | 2016-11-28T11:35:00 | Specific start date and time | School |
EndDateTime | 2016-11-28T12:35:00 | Specific end date and time | School |
StaffCodes | BPA,ABA | Staff short codes for display | School |
RoomCodes | H3 | Room codes for display | School |
SubjectCode | Hi | Subject code for display | School |
SubjectName | History | Full subject name | School |
LessonStaff
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 576.1 | Unique Id for changesets | School |
LessonId | 81 | Id of the related lesson | School |
StaffId | 1 | Id of the staff member | School |
StaffCode | ABA | Short code for the staff member | School |
LessonRooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 576.24 | Unique Id for changesets | School |
LessonId | 81 | Id of the related lesson | School |
RoomId | 24 | Id of the Room | School |
Code | H3 | Short code for the staff member | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
includeLessons | boolean IncludeLessons |
includeLessonStaff | boolean includeLessonStaff |
includeLessonRooms | boolean includeLessonRooms |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Lessons": [
- [
- { }
]
], - "LessonStaff": [
- [
- { }
]
], - "LessonRooms": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable for Group
Return the timetable for a group, with optional date range. You must specify the groupId which can be obtained from the school.groups endpoint.
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
bypassDateFilter | boolean Set to return all dates in the dataset |
includeTTStructure | boolean Include Timetables,TimetableDays and TimetablePeriods in the result set |
id | string Group id |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Lessons": [
- [
- { }
]
], - "LessonStaff": [
- [
- { }
]
], - "LessonRooms": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable for Staff
Endpoint Description
Access timetable data for today or a date range for a specific member of staff with summary data pre-collated for fast display of timetable information. Timetable data is collected and cached for a minimum of the current week and a maximum of two weeks including the current week.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | Id | Id of staff member |
Optional | From | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to one week before the current date. |
Optional | To | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to two weeks from the current date. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
School.Groups | Timetable.ClassId | Group.Id | Group definitions and details |
POST.LessonAttendance | Timetable.Id | Marks.InstanceId | Writeback endpoint for lesson attendance |
School.Timetable | Timetable.Id | Lesson.PeriodId | School timetable definitions |
School.TimetableStructure | Timetable.Id | TTPeriods.Id | Timetable structure details |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 44901 | Instance Id of this specific lesson | School |
LessonId | 2872 | Id of this lesson in the timetable cycle | School |
JoinedId | 2873 | Id of subsequent period if following period is part of a double lesson | School |
PeriodId | 44902 | Instance Id of this specific lesson | School |
ClassId | 9644 | Id of the group for this lesson | School |
Period | Thu:1 | Display name of the timetable period | School |
Date | 2017-05-11T00:00:00 | Date this lesson occurs | School |
StartDateTime | 2017-05-11T09:15:00 | Specific date and start time for this lesson | School |
EndDateTime | 2017-05-11T10:15:00 | Specific date and end time for this lesson | School |
ClassName | 12V1/Hb1 | Display name of the group being taught | School |
RoomCodes | SAL | Display names of rooms where this lesson is being taught | School |
StaffCodes | JXE | Display codes for the staff teaching this lesson | School |
SubjectCode | Hb | Display code for the subject of the lesson being taught | School |
SubjectName | Hair & Beauty | Display name for the subject of the lesson being taught | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
bypassDateFilter | boolean Set to return all dates in the dataset |
includeTTStructure | boolean Include Timetables,TimetableDays and TimetablePeriods in the result set |
id | string Group id |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Lessons": [
- [
- { }
]
], - "LessonStaff": [
- [
- { }
]
], - "LessonRooms": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable for Student
Endpoint Description
Access timetable data for today or a date range for a specific student with summary data pre-collated for fast display of timetable information. Timetable data is collected and cached for a minimum of the current week and a maximum of two weeks including the current week.
Filters
Available query parameters for this endpoint to refine the returned dataset:
Required? | Filter Name | Filter Description |
---|---|---|
Mandatory | Id | Id of student |
Optional | From | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to one week before the current date. |
Optional | To | The date requested for which to return timetable data. Format "yyyy-mm-dd". If left blank, this is set to two weeks from the current date. |
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
School.Groups | Timetable.ClassId | Group.Id | Group definitions and details |
POST.LessonAttendance | Timetable.Id | Marks.InstanceId | Writeback endpoint for lesson attendance |
School.Timetable | Timetable.Id | Lesson.PeriodId | School timetable definitions |
School.TimetableStructure | Timetable.Id | TTPeriods.Id | Timetable structure details |
Fields by Scope
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 44901 | Instance Id of this specific lesson | School |
LessonId | 2872 | Id of this lesson in the timetable cycle | School |
JoinedId | 2873 | Id of subsequent period if following period is part of a double lesson | School |
PeriodId | 44901 | Instance Id of this specific lesson | School |
ClassId | 9644 | Id of the group for this lesson | School |
Period | Thu:1 | Display name of the timetable period | School |
Date | 2017-05-11T00:00:00 | Date this lesson occurs | School |
StartDateTime | 2017-05-11T09:15:00 | Specific date and start time for this lesson | School |
EndDateTime | 2017-05-11T10:15:00 | Specific date and end time for this lesson | School |
ClassName | 12V1/Hb1 | Display name of the group being taught | School |
RoomCodes | SAL | Display names of rooms where this lesson is being taught | School |
StaffCodes | JXE | Display codes for the staff teaching this lesson | School |
SubjectCode | Hb | Display code for the subject of the lesson being taught | School |
SubjectName | Hair & Beauty | Display name for the subject of the lesson being taught | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
bypassDateFilter | boolean Set to return all dates in the dataset |
includeTTStructure | boolean Include Timetables,TimetableDays and TimetablePeriods in the result set |
id | string Group id |
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Lessons": [
- [
- { }
]
], - "LessonStaff": [
- [
- { }
]
], - "LessonRooms": [
- [
- { }
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable model
Endpoint Description
Timetable model for all timetables in the academic year. Includes days, periods, lessons, and relationships between lessons, staff, rooms, and classes.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.groups | Groups.Id | LessonClasses.GroupId | School groups |
school.staff | Staff.Id | LessonStaff.StaffId | School staff |
Fields by Scope
Timetables
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 3 | Id of the timetable | School |
Description | 186 | Timetable name | School |
StartDate | 2017-09-01 | Date the timetable starts | School |
EndDate | 2017-05-01 | Date the timetable ends | School |
DaysPerCycle | 5 | Number of days in a timetable cycle | School |
PeriodsPerCycle | 25 | Number of periods in a timetable cycle | School |
TeachingPeriodsPerCycle | 25 | Number of teaching periods in a timetable cycle | School |
TimetableDays
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 678 | Id of the timetable day | School |
TimetableId | 2 | Id of the timetable the day is a part of | School |
DayName | Mon | Name of the timetable day | School |
Sequence | 1 | Sequence number of the day in the timetable | School |
TimetablePeriods
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1065 | Id of the timetable period | School |
TimetableDayId | 678 | Id of the timetable day the period is a part of | School |
PeriodName | Mon5 | Name of the period | School |
StartTime | 15:10 | Time (hh:mm) that the period starts | School |
EndTime | 16:10 | Time (hh:mm) that the period ends | School |
PeriodSequence | 5 | Sequence number of the period in the timetable | School |
TimetableLessons
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1765 | Id of the lesson | School |
TimetablePeriodId | 1065 | Id of the period that the lesson occurs in | School |
LessonClasses
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the class in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
GroupId | 7651 | Id of the class or group | School |
GroupName | 10MA1 | Name of the class or group | School |
SubjectId | 91 | Id of the subject | School |
SubjectName | Maths | Name of the subject | School |
LessonStaff
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the staff in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
Staff | 18611 | Id of the staff | School |
LessonRooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the room in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
RoomId | 4043 | Id of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
Rooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
TimetableDayInstances
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the day | School |
TimetableDayId | 34 | Id of the timetable day | School |
Date | 16-11-2017 | Date the day instance occurs | School |
LessonInstances
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the lesson instance | School |
TimetableLessonId | 34 | Id of the timetable lesson | School |
StartDate | 16-11-2017T14:00:00 | Datetime the lesson instance occurs | School |
EndDate | 16-11-2017T15:00:00 | Datetime the lesson instance occurs | School |
CoverLessons
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
Type | StaffCover | Type of cover | School |
CoverLessonStaff
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
Staff | 18611 | Id of the staff | School |
CoverLessonRooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
RoomId | 4043 | Id of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
RoomClosures
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the room closure | School |
Description | Exams | Description of why the room is closed | School |
StartDate | 16-11-2017T14:00:00 | Datetime the room closure occurs | School |
EndDate | 16-11-2017T15:00:00 | Datetime the room closure occurs | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
excludeLessonInstances | boolean Add this option to remove lesson instances from the data |
LessonInstancesDateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
LessonInstancesDateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
SchoolYear | string <yyyy> Optional School Year |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "Timetables": [
- [
- {
- "Id": "string",
- "Description": "string",
- "StartDate": "string",
- "EndDate": "string",
- "DaysPerCycle": 0,
- "PeriodsPerCycle": 0,
- "TeachingPeriodsPerCycle": 0
}
]
], - "TimetableDays": [
- [
- {
- "Id": "string",
- "Timetables": "string",
- "DayName": "string",
- "Sequence": "string"
}
]
], - "TimetablePeriods": [
- [
- {
- "Id": "string",
- "TimetableDayId": "string",
- "PeriodName": "string",
- "StartTime": "string",
- "EndTime": "string",
- "PeriodSequence": "string"
}
]
], - "TimetableLessons": [
- [
- {
- "Id": "string",
- "TimetablePeriodId": "string"
}
]
], - "LessonClasses": [
- [
- {
- "Id": "string",
- "TimetableLessonId": "string",
- "GroupId": "string",
- "GroupName": "string",
- "SubjectId": "string",
- "SubjectName": "string"
}
]
], - "LessonStaff": [
- [
- { }
]
], - "LessonRooms": [
- [
- { }
]
], - "Rooms": [
- [
- {
- "Id": "string",
- "RoomName": "string",
- "RoomCode": "string"
}
]
], - "TimetableDayInstances": [
- [
- {
- "Id": "string",
- "RoomName": "string",
- "RoomCode": "string"
}
]
], - "LessonInstances": [
- [
- {
- "Id": "string",
- "TimetableLessonId": "string",
- "StartDate": "string",
- "EndDate": "string"
}
]
], - "CoverLessons": [
- [
- {
- "Id": "string",
- "LessonInstanceId": "string",
- "Type": "string"
}
]
], - "CoverLessonStaff": [
- [
- {
- "Id": "string",
- "LessonInstanceId": "string",
- "Staff": "string"
}
]
], - "CoverLessonRooms": [
- [
- {
- "Id": "string",
- "LessonInstanceId": "string",
- "RoomId": "string",
- "RoomName": "string",
- "RoomCode": "string"
}
]
], - "RoomClosures": [
- [
- {
- "Id": "string",
- "Description": "string",
- "StartDate": "string",
- "EndDate": "string"
}
]
], - "AllRooms": [
- [
- {
- "Id": "string",
- "RoomId": "string",
- "RoomCode": "string",
- "RoomName": "string",
- "RoomRows": "string",
- "RoomColumns": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Timetable Structure
Endpoint Description
Timetable model for all timetables in the academic year. Includes days, periods, lessons, and relationships between lessons, staff, rooms, and classes.
Related Endpoints
Endpoint | Primary Key | Foreign Key | Related Endpoint Description |
---|---|---|---|
school.groups | Groups.Id | LessonClasses.GroupId | School groups |
school.staff | Staff.Id | LessonStaff.StaffId | School staff |
Fields by Scope
Timetables
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 3 | Id of the timetable | School |
Description | 186 | Timetable name | School |
StartDate | 2017-09-01 | Date the timetable starts | School |
EndDate | 2017-05-01 | Date the timetable ends | School |
DaysPerCycle | 5 | Number of days in a timetable cycle | School |
PeriodsPerCycle | 25 | Number of periods in a timetable cycle | School |
TeachingPeriodsPerCycle | 25 | Number of teaching periods in a timetable cycle | School |
TimetableDays
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 678 | Id of the timetable day | School |
TimetableId | 2 | Id of the timetable the day is a part of | School |
DayName | Mon | Name of the timetable day | School |
Sequence | 1 | Sequence number of the day in the timetable | School |
TimetablePeriods
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1065 | Id of the timetable period | School |
TimetableDayId | 678 | Id of the timetable day the period is a part of | School |
PeriodName | Mon5 | Name of the period | School |
StartTime | 15:10 | Time (hh:mm) that the period starts | School |
EndTime | 16:10 | Time (hh:mm) that the period ends | School |
PeriodSequence | 5 | Sequence number of the period in the timetable | School |
TimetableLessons
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 1765 | Id of the lesson | School |
TimetablePeriodId | 1065 | Id of the period that the lesson occurs in | School |
LessonClasses
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the class in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
GroupId | 7651 | Id of the class or group | School |
GroupName | 10MA1 | Name of the class or group | School |
SubjectId | 91 | Id of the subject | School |
SubjectName | Maths | Name of the subject | School |
LessonStaff
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the staff in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
Staff | 18611 | Id of the staff | School |
LessonRooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the room in the lesson | School |
TimetableLessonId | 1765 | Id of the lesson | School |
RoomId | 4043 | Id of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
Rooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
TimetableDayInstances
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the day | School |
TimetableDayId | 34 | Id of the timetable day | School |
Date | 16-11-2017 | Date the day instance occurs | School |
LessonInstances
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the instance of the lesson instance | School |
TimetableLessonId | 34 | Id of the timetable lesson | School |
StartDate | 16-11-2017T14:00:00 | Datetime the lesson instance occurs | School |
EndDate | 16-11-2017T15:00:00 | Datetime the lesson instance occurs | School |
CoverLessons
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
Type | StaffCover | Type of cover | School |
CoverLessonStaff
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
Staff | 18611 | Id of the staff | School |
CoverLessonRooms
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 90 | Id of the instance of the cover lesson | School |
LessonInstanceId | 8 | Id of the timetable lesson | School |
RoomId | 4043 | Id of the room | School |
RoomName | Red 1 | Name of the room | School |
RoomCode | R1 | Room code | School |
RoomClosures
Field | Example | Notes | Consent Scope |
---|---|---|---|
Id | 8 | Id of the room closure | School |
Description | Exams | Description of why the room is closed | School |
StartDate | 16-11-2017T14:00:00 | Datetime the room closure occurs | School |
EndDate | 16-11-2017T15:00:00 | Datetime the room closure occurs | School |
Authorizations:
path Parameters
estab required | string establishment ID |
query Parameters
DateFrom | string <yyyy-MM-dd> Start Date yyyy-MM-dd |
DateTo | string <yyyy-MM-dd> End Date yyyy-MM-dd |
page | integer Optional page parameter, used in conjunction with pagesize. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
pagesize | integer Optional pagesize parameter, used in conjunction with page. Supply optional pagination parameters page and pageSize to refine the amount of data returned at once. Change sets are calculated before pagination is applied. The default maximum number of records in a response is 100011. If no pagination values are supplied then this limit will automatically be enforced for result sets with more records than this value and the page parameter will be required to access further records. |
changedRows | string Keep track of changes. Start a changeset with by passing * as the changedRows value. The resultset returned will include a new value to supply for the next changedRows. Only rows that have changed since will be returned, an extra table with the same name but with the _deleted suffix will be returned with the Ids of any rows that where in the original resultset but not in this new one. Changesets are per school, per endpoint so will need to be tracked as such in your application. To retrieve a full set for an endpoint, simply start a new set with * again. |
select | string <CSV> Example: select=DisplayName as Name,RegGroup as Form Select Parameter (Choose & Rename Specific Fields). CSV of column names or * for all columns |
callbackUrl | string <URL> Supply a URL that can consume a POST response as described in the callback section and we will call you back with the DBStatus object when the data is ready to be requested |
httpstatuscodes | boolean To receive detailed HTTP error response codes, add the following parameter to your API calls as an additional URL parameter |
Responses
Callbacks
Response samples
- 200
{- "TTDays": [
- [
- {
- "Id": "string",
- "EventId": "string",
- "EventDescription": "string",
- "StartDateTime": "string",
- "EndDateTime": "string"
}
]
], - "TTSessions": [
- [
- {
- "Id": "string",
- "DayId": "string",
- "EventId": "string",
- "EventDescription": "string",
- "Session": "string",
- "StartDateTime": "string",
- "EndDateTime": "string"
}
]
], - "TTPeriods": [
- [
- {
- "Id": "string",
- "DayId": "string",
- "SessionId": "string",
- "EventId": "string",
- "EventDescription": "string",
- "Session": "string",
- "StartDateTime": "string",
- "EndDateTime": "string"
}
]
], - "TTSubjects": [
- [
- {
- "Id": "string",
- "Code": "string",
- "Name": "string"
}
]
], - "TTRooms": [
- [
- {
- "Id": "string",
- "Code": "string",
- "Name": "string"
}
]
]
}
Callback payload samples
{- "result": [
- {
- "ID": "string",
- "Description": "string",
- "Source": "string",
- "Success": "string"
}
]
}
Attendance Writeback
Endpoint Description
Writeback endpoint to create or update either AM & PM session or lesson attendance marks in the MIS.
Important: Currently, only SIMS MIS is supported for Attendance Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information. Attendance information can be written for multiple students in one POST, but only for a single date at a time. If you attempt to write back information for more than one date, the API will return a validation error and will not attempt to send the information to the MIS. We will validate your writeback POST before we send it to the school to ensure that the information provided contains valid data (student IDs, correct marks, etc.). If there is an error, we will fail the request and provide you an error message detailing the issue.
SIMS Note: All write backs are treated as atomic. If your request passes validation but for some reason does not complete successfully at SIMS, all records contained within the request can be considered to have failed.
- We would consider this a very rare scenario, so if you do encounter this, please let us know so we can assist in troubleshooting the problem.
Session Attendance
Sections & Fields for Writeback Object
Marks - Mandatory
The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day. Valid marks can be found in the school.AttendanceCodes
endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | S | String | Set S for session in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
Session | AM | String | AM or PM session | Yes |
Mark | \ | String | Mark to be written back (escape backslash) | Yes |
Mins | 5 | Integer | Number of minutes late | No |
Notes | Missed the bus | String | Comments for the mark - MAX 500 Character Limit | No |
StatutoryComment | Referral order | String | Statutory comment for marks B, K, and Y7 - MAX 500 Character Limit. Presently only supported for SIMS | Mandatory for codes B, K, and Y7 |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=Attendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will inform XporterOnDemand that you would like us to call you back when the writeback has completed, so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL, which you can open and examine to see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you provided in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False indicating the success or failure of the writeback attempt.
Lesson Attendance
Sections & Fields for Writeback Object
Marks - Mandatory
The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day. Valid marks can be found in the school.AttendanceCodes endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | L | String | Set L for lesson attendance in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
InstanceId | 44905 | String | PeriodId of the lesson from the timetable information | Yes |
Mark | \ | String | Mark to be written back (escape backslash) | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=LessonAttendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False, which determines the success or failure of the writeback attempt.
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "Marks": [
- {
- "StudentId": "12278",
- "MarkType": "S",
- "Date": "2025-03-26",
- "Session": "AM",
- "Mark": "\\"
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Attendance Writeback Async
Endpoint Description
Asynchronous writeback endpoint to create or update AM & PM session and Lesson attendance marks in the MIS. Receive a tracking ID and be called back when the action is completed successfully or has failed.
Important: Currently only SIMS MIS is supported for Attendance Writeback.
Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Info: This endpoint supports both formats for Session and Lesson JSON objects as defined in POST.Attendance and POST.LessonAttendance examples
Attendance information can be written for multiple students in one POST, but only for a single date at a time. If you attempt to write back information for more than one date, the API will return a validation error and will not attempt to send the information to the MIS.
We will validate your writeback POST before we send to the school to ensure that the information provided contains valid information (student Ids, correct marks etc). If there is an error, we will fail the request and provide you an error message detailing the issue.
On submission of your request we respond immediately with a success status to let you know we have queued your request and will issue you with a TrackingId that you can use to match up your writeback request with the call back we will respond with on completion.
Example response:
{
"TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"DataSet": {
"trackingid": [
{
"trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"errorquery": "Writeback.AttendanceAsync_OnError"
}
]
},
"Message": "success",
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
Validation Errors
Writeback requests need to pass a series of validations before they are accepted. This avoids erroneous data being sent to the MIS.
Validation errors will be returned immediately
Validation Error | Description | Action Required |
---|---|---|
Missing mandatory field StudentId | A studentId must be specified for every writeback record | Validate / correct writeback payload |
Attendance writeback is not supported for {MIS} | We detected a writeback attempt for an MIS that does not yet support it | Stop making writeback requests for this school |
Invalid StudentId: {StudentId} | StudentId specified is not a valid on roll StudentId | Validate StudentIds sent in writeback requests to ensure they are all valid on roll students |
InstanceId required for Lesson attendance writeback for StudentId: {StudentId | L was specified for MarkType but no InstanceId was provided | Validate creation of writeback payload to ensure it contains mandatory fields |
Notes field max character limit (500) exceeded for StudentId: {StudentId} | MIS notes field length cannot be exceeded | Ensure that inputs for attendance notes are limited to 500 characters |
Invalid Session provided: {SessionCode} | AM or PM must be provided | Validate creation of writeback payload to ensure it contains mandatory fields |
Invalid Mark provided: {Mark} | The provided mark is not recognised as a valid code | Ensure that attendance codes are valid based on the school.AttendanceCodes endpoint |
Only write back a set of marks for the same date | Attendance must be written back in batches containing data for only a single date | Ensure writeback batches contain only marks for a single date at a time |
School appears to be closed to students on this date | Existing code found for this session that indicates school closed | Attendance cannot be recorded on this date, refresh attendance/timetable data |
Invalid lesson InstanceId provided | We could not find a matching lesson instance Id on the specified date | Validate timetable data to ensure correct instanceId is used |
Handling the N Code: To ensure data saved directly in the MIS is not overwritten by applications using the API, we have special rules for handling its use:
- MIS has no mark or N: Writeback will set N
- MIS has any other mark: Writeback will leave existing mark
SIMS Note: All write backs are treated as atomic. If your request passes validate, but for some reason does not complete successfully at SIMS, all records contained within the request can be considered to have failed.
- We would consider this a very rare scenario so if you do encounter this, please let us know so we can assist in troubleshooting the problem.
Sections & Fields for Writeback Object
####Marks - Mandatory The Marks object contains a list of objects to write back to the MIS to set attendance marks for students for a given session of a given day.
Valid marks can be found in the school.AttendanceCodes endpoint.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
StudentId | 9919 | String | Id of the student record | Yes |
MarkType | S | String | Set S for session in all cases for this endpoint | Yes |
Date | 2017-05-11 | String | Date of the attendance (yyyy-mm-dd) | Yes |
Session | AM | String | AM or PM session | Yes |
Mark | \\ | String | Mark to be written back (escape backslash) | yes |
Mins | 5 | Integer | Number of minutes late | No |
Notes | Missed the bus | String | Comments for the mark - MAX 500 Character Limit | No |
StatutoryComment | Referral order | String | Statutory comment for marks B, K and Y7 - MAX 500 Character Limit. Presently only supported for SIMS | Mandatory for codes B, K and Y7 |
Callback - Mandatory Section for Async Calls
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this propery | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=Attendance&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Request Validation
Before a request is sent to the MIS, we carry out a number of validations to ensure that you have made a valid request.
Due to the asynchronous nature of the request we perform the validation in 2 tiers. The first tier validates against information we already have (student/structural), the 2nd tier validates against existing attendance data which we need a valid cache for so may need to make a request to the school before executing the validations.
Tier 1 validation failures will be responded immediately and we will not queue a writeback request.
Tier 2 validations will be performed asynchronously and cause a failed callback (XodCompleted=False) if they do not pass.
Tier 1 Validations
- Invalid StudentId
- InstanceId Required for Lesson Attendance Writeback
- Notes field 500 character limit
- Invalid Session code provided (Not AM or PM)
- Invalid Mark provided
Tier 2 Validations
- School appears to be closed to students on this date
- Invalid lesson InstanceId provided
Async Callback on Completion
Requests using this endpoint must provide a call back object so the API can tell the caller the result of the request.
Writeback requests on using this endpoint will automatically retry the call to the school MIS every 5 minutes for the period of 1 hour if we are unable to connect successfully to the school agent. If we are unable to connect after 1 hour we will respond with XodCompleted=False and an appropriate error message to indicate the communications issue.
The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what a callback response will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the following URL parameters:
- id - Value of the id param passed in the callback object in the original request
- estab - Value of the estab param passed in the callback object in the original request
- trackingid - Value of the TrackingId property in the initial response from the API
- XodCompleted - This will be True the writeback was successfully complete. It will be false if the writeback payload failed validation before sending to the mis. If the writeback payload passed validation but we were unable to write back to the MIS, this will be empty - we will instead provide the ErrorMessage instead.
- ErrorMessage - If we failed to write back to the MIS, this will be populated with the URL encoded error from the MIS. This means that we have already retried the writeback up to 10 times. You can still re-submit the writeback payload as a new writeback post.
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Marks": [
- {
- "StudentId": "12278",
- "MarkType": "S",
- "Date": "2025-03-26",
- "Session": "AM",
- "Mark": "\\"
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{ }
Conduct Writeback
Endpoint Description
Writeback endpoint to create achievement records in the MIS.
Important: Currently only SIMS MIS is supported for Conduct Achievement Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Sections & Fields for Writeback Object
Conducts - Mandatory
The conduct section defines the achievement event itself. The Id column is an internal reference to related records in this specific writeback object. Multiple Conducts can be defined, increment the Id field to identify separate Conduct records. Related objects such as Participants and Staff will need to reference the respective ConductId in those records.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Unique identifier of the conduct record for this writeback data | Yes |
IncidentType | Ach | Text | The type of conduct being written. Must be "Ach" | Yes |
RecordedById | 1 | Integer | Id of the staff member that recorded this event | Yes |
EntryDate | 2017-02-21 (yyyy-MM-dd) | Text | Date that this event occurred | Yes |
TypeId | 4 | Integer | Id of the behaviour type selectable from school.conductlookups ConductTypes.LocalId values | Yes |
ActivityId | 13 | Integer | Id of BehActivity from school.conductlookups ConductLookups.LocalId | No |
Note | Great piece of work | Text | Free text description or comment for event - MAX 500 Character Limit | No |
Participants - Mandatory
The participants section lists the involved students. There can be multiple students associated with a single Conduct - ensure the ConductId for multiple students all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
Points | 10 | Integer | Set the points for the student | Yes |
StudentId | 9919 | Integer | Id of the student | Yes |
OutcomeId | 1 | Integer | Id of the AchOutcome lookup | No |
Staff - Optional
The Staff section lists the involved staff members. It is optional and can be omitted entirely. There can be multiple staff associated with a single Conduct - ensure the ConductId for multiple staff all references the intended Conduct record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
StaffId | 1 | Integer | The Id of the staff member | Yes |
StaffRoleId | 3 | Integer | Id of BehStaffRole from school.conductlookups ConductLookups.LocalId | No |
MediaFiles - Optional
The MediaFiles section allows you to attach media data to a specific conduct incident, it is optional and can be omitted entirely. Multiple media files can be linked with a single Conduct record - you will need to increment the Id property and ensure all MediaFiles intended for the same Conduct record have the correct corresponding ConductId set.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Incremental Id of the MediaFile linked to a specific Conduct record | Yes |
ConductId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
MediaDateTime | 2017-04-26T12:00:00 | DateTime | Timestamp for when media was created | Yes |
Description | Example image | Text | Description or comment for media | Yes |
MediaType | png | Text | Media attachment filetype | Yes |
FileName | small_tick.png | Text | Media attachment filename | Yes |
MediaBase64 | iVBORw0KGgo....RK5CYII= | Text | Base64 encoded string of media attachment | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=ConductBeh&estab=3281102 | String | Your URL that will receive the callback from us | Yes |
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xportertesting.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When an Achievement Conduct is successfully written back, we will also include POST body data with the Id of the event that was created in the MIS so you can reconcile a successful writeback being made. The JSON we will return to you will look similar to the below example:
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The incremental Id of the conduct record that was specified in the JSON you POSTed
ActualId: The MIS Id of the record that was created for that conduct record
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Conduct Writeback Async
Endpoint Description
Writeback endpoint to create conduct records in the MIS using our preferred Async method.
Important: Currently only SIMS and Bromcom MIS are supported for Conduct Writeback.
Important: Please refer to the POST.ConductAch or POST.ConductBeh endpoints for specific information about each type. Both respective payloads can be submitted to this endpoint.
Important: Many MIS have different structures for Conduct data. Please read the relevant information in this document carefully.
Validation Errors
Writeback requests need to pass a series of validations before they are accepted. This avoids erroneous data being sent to the MIS. We will validate your writeback POST before we send to the school to ensure that the information provided contains valid information (student Ids, correct lookupIds etc). If there is an error, we will fail the request and provide you an error message detailing the issue. Validation errors will be returned immediately in response to your request.
Validation Error | Description | Action Required |
---|---|---|
Conduct writeback is not supported for {MIS} | We detected a writeback attempt for an MIS that does not yet support it | Stop making writeback requests for this school |
Invalid StudentId: {StudentID} | StudentId specified is not a valid on roll StudentId | Validate StudentIds sent in writeback requests to ensure they are all valid on roll students |
Deletion of conduct records is not supported for {MIS} | Not all MIS providers support the deletion of conduct records | Stop making deletion requests for this school |
Invalid Student RoleId for StudentId: {StudentId} | The RoleId supplied for the Student is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Invalid StaffId: {StaffID} | StaffId specified is not a valid member of Staff | Validate StaffIds sent in writeback requests to ensure that they are all valid members of staff |
Invalid Staff RoleId for StaffId: {StaffId} | The RoleId supplied for the member of Staff is not a valid RoleId | Validate the Role against the data in the ConductLookups endpoint |
Note field max character limit (500) exceeded for Conduct Id: {ConductId} | The Note field is limited to 500 characters in length | Ensure that the Note field in the Conduct payload does not exceed 500 characters |
Invalid IncidentType {IncidentType} should be Ach or Beh | Only two values are valid for the Incident Type. These values are Ach for positive achievements, or Beh for negative behaviours. This field is mandatory. | Ensure you are supplying an IncidentType and that it is valid. |
Invalid TypeId {TypeId} | The TypeId supplied for the Conduct is not a valid TypeId | Validate the TypeId against the data in the ConductLookups endpoint |
Invalid ActivityId {ActivityId} | The ActivityId supplied for the Conduct is not a valid ActivityId | Validate the ActivityId against the data in the ConductLookups endpoint |
Invalid LocationId {LocationId} | The LocationId supplied for the Conduct is not a valid LocationId | Validate the LocationId against the data in the ConductLookups endpoint |
Invalid StatusId {StatusId} | The StatusId supplied for the Conduct is not a valid StatusId | Validate the StatusId against the data in the ConductLookups endpoint |
Mandatory field StatusId missing | The field StatusId is mandatory | Ensure you are supplying a StatusId with each Conduct record |
Invalid RecordedById {RecordedById} | The RecordedById supplied for the Conduct is not a valid RecordedById | Validate the RecordedById against the data in the ConductLookups endpoint |
Invalid BullTypeId {BullTypeId} | The BullTypeId supplied for the Conduct is not a valid BullTypeId | Validate the BullTypeId against the data in the ConductLookups endpoint |
Invalid EntryTimeId {EntryTimeId} | The EntryTimeId supplied for the Conduct is not a valid EntryTimeId | Validate the EntryTimeId against the data in the ConductLookups endpoint |
Invalid Achievement OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for an Achievement | Validate the OutcomeId against the data for Achievements in the ConductLookups endpoint |
Invalid Behaviour OutcomeId {OutcomeId} | The OutcomeId supplied for the Conduct is not a valid OutcomeId for a Behaviour | Validate the OutcomeId against the data for Behaviour in the ConductLookups endpoint |
You must provide an UpdateId when trying to remove students from a behaviour record | You have supplied a Conduct payload with negative StudentIds, indicating an intention to remove Students from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove staff from a behaviour record | You have supplied a Conduct payload with negative StaffIds, indicating an intention to remove Staff from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You must provide an UpdateId when trying to remove media from a behaviour record | You have supplied a Conduct payload with negative Ids for Media, indicating an intention to remove Media from a Conduct Record. However, you have not supplied an UpdateId to tell us which Conduct record you would like to update. | Ensure you are supplying an UpdateId with the Id of the Conduct when removing records. |
You have assigned the same student to the same conduct more than once | You have linked a Student to the same Conduct multiple times | Ensure you only link a Student once to a single Conduct record |
You have assigned the same staff to the same conduct more than once | You have linked a Staff member to the same Conduct multiple times | Ensure you only link a Staff member once to a single Conduct record |
You have defined the same conduct more than once | You have repeated a Conduct record in your payload, or assigned two Conducts the same Id | Ensure that each Conduct is unique and has a unique Id |
Missing mandatory field TypeId | The field TypeId is mandatory and must be part of a Conduct writeback | Ensure you are always supplying a TypeId |
Response
On submission of your request, we respond immediately with a success status to let you know we have queued your request and will issue you with a TrackingId that you can use to match up your writeback request with the callback we will respond with on completion.
Example response:
{
"TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"DataSet": {
"trackingid": [
{
"trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
"errorquery": "Writeback.ConductAsync_OnError"
}
]
},
"Message": "success",
"ExceptionType": null,
"ExceptionMessage": null,
"InnerException": null
}
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xporter.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False which determines the success or failure of the writeback attempt. When a Conduct record is successfully written back, we will include POST body data with an array of results that include the IncidentId and ActualId for each event that was created in the MIS so you can reconcile a successful writeback being made.
The JSON we will return to you will look similar to the below example:
{
"result":[
{
"IncidentId":1,
"ActualId":1811
}
]
}
IncidentId: The Id of the conduct record that was specified in the JSON you POSTed to us.
ActualId: The MIS Id of the record that was created for that conduct record.
Depending on how each MIS handles conduct writeback, you may receive a single ActualId for a given IncidentId OR multiple ActualId records for a given IncidentId. Your application should support and understand that it may receive 1 or multiple instances of ActualId links for a conduct record. For this reason, we suggest that the Id (returned as IncidentId) in your writeback request can be uniquely referenced by your own application.
Example 1 (SIMSNET):
- You submit a writeback payload where a Conduct has more than one linked student.
- Xporter will submit the conduct record with related students to SIMSNET.
- Xporter will return you a single ActualId with the associated ConductId you provided, that it has created for the Conduct record in the MIS.
- When you fetch data next time from the API, there will be one Conduct record returned that corresponds to your record that was written back. The conduct will have more than one related student.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "43534"
}
]
}
Example 2 (BROMCOM):
- You submit a writeback payload where a Conduct has 3 linked students.
- Xporter will split the Conduct into one Conduct record per Student to submit to Bromcom.
- Xporter will return you a list of ActualId with the associated ConductId you passed that it has created for each Conduct record in the MIS.
- When you fetch data next time from the API, there will be 3 conduct records that correspond to the ActualId you were returned from your record that was written back. Each conduct will have only one related student.
- You may wish to aggregate these records in your platform for display depending on your use case.
Example Response:
{
"result": [
{
"IncidentId": 1,
"ActualId": "B78894"
},
{
"IncidentId": 1,
"ActualId": "B78893"
},
{
"IncidentId": 1,
"ActualId": "B78892"
}
]
}
Conduct Feature Support
MIS | Linked Students | Linked Staff | Record Deletion Support |
---|---|---|---|
SIMSNET | One Conduct to Many Students | Multiple Staff Roles Supported | Yes |
Bromcom | One Conduct to One Student | Witness Role Supported only | No |
MIS Specific Notes
Where there are specific features that deviate from default documentation for a given MIS, we will highlight below.
Bromcom
- Mandatory field StatusId in Conduct object is not required
- Media object is not supported
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "IncidentType": "Beh",
- "RecordedById": 1,
- "EntryDate": "2025-03-26",
- "TypeId": 4,
- "BullTypeId": 0,
- "ActivityId": 1,
- "LocationId": "15",
- "StatusId": "1",
- "Note": "Beh Recorded by TryIt"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 10,
- "StudentId": 12278,
- "RoleId": "1"
}
], - "Staff": [
- {
- "ConductId": 1,
- "StaffRoleId": 1,
- "StaffId": 1
}
], - "MediaFiles": [
- {
- "Id": 1,
- "ConductId": 1,
- "MediaDateTime": "2025-03-26T12:00:00",
- "Description": "Example Image",
- "MediaType": "png",
- "FileName": "small_cross.png",
- "MediaBase64": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABJUlEQVQ4y2P8+fPnfwYKABMDhQDDgN+fnjDce/UdQ+HLOzcZPv3GYsLPnz//w/CX13f+54e7/7fxiv1/9v47uPj9s5v/e9mY/g/P7/3/+gtC/c+fP/8zIsLgN0N/dijD6vOvGBgYGBg4xbUYJk6dyCD07ihDdn4Tw8vv/xgYGBgYDENLGKYWBsEdwIgciM+u7EJRzCkmw8D7+RnDKxgfaqiOFDd2A7AZAgPYNGMNRCkdN4aqTD80UWaGzKo2DM1YDXh2ZRdD2/RNaKJ/Gaa3VTFcefYVvwHYwkCME6Lk+8trDPnZ+RiGIBnwm2Hl9GkIzeJaDBOnzWeYNrGOQRzJkOkrd9IsHSBS4uMfwgxKYpwoFr26d5uBQ1aVgY8V1QGMgy8zkQoAT2DkP9OSsloAAAAASUVORK5CYII="
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{- "result": [
- {
- "IncidentId": 1,
- "ActualId": 1811
}
]
}
Detention Writeback Async
Endpoint Description
Important: Detention Writeback requires the WritebackConduct scope.
Writeback endpoint to create detention records in the MIS.
Important: Currently only SIMS MIS is supported for Detention Writeback. Write back to the MIS by calling this endpoint with a JSON object as the POST body containing the required information.
Sections & Fields for Writeback Object
Detentions - Mandatory
The detention section defines the detention event itself. The Id column is an internal reference to related records in this specific writeback object. Multiple Detentions can be defined—increment the Id field to identify separate conduct records. Related objects such as DetentionStudents and DetentionStaff will need to reference the respective Id with a matching DetentionId.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Id | 1 | Integer | Unique identifier of the conduct record for this writeback data | Yes |
UpdateId | 3467 | Integer | MIS identifier of the conduct record, used when updating records | No |
DetentionTypeId | 24 | Text | The detention type id of detention being written | Yes |
LocationId | 1 | Text | Id of the default location | Yes |
DetentionDate | 2017-02-21 | Text | Date that this event occurred. Defaults to today if not sent | No |
StartTime | 15:20 | Text | Detention start time | No |
EndTime | 15:50 | Text | Detention end time | No |
AssignedStaffId | 23 | Text | Default end time | No |
RecordedDate | 2017-02-21 | Text | Date event was recorded; future dates will be set to current date | No |
RecordedByStaffId | 23 | Text | Id of the staff who recorded the event | No |
DetentionStudents - Optional
The DetentionStudents section lists the involved students. There can be multiple students associated with a single Detention—ensure the DetentionId for multiple students all reference the intended Detention record.
Please note that when writing back to SIMS, it is possible to exceed the fixed maximum number of students in a detention, and it is possible to place a student in two clashing detentions.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
DetentionId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
StudentId | 9919 | Text | Id of the student | Yes |
ReasonId | 1 | Text | Id of the detention reason | No |
AttendedId | 1 | Text | Id of the detention attended | No |
NonAttendanceReason | Personal errand | Text | Description of reason for non-attendance | No |
BehaviourId | 1 | Text | Id of the associated behaviour incident | No |
AddedByStaffId | 1 | Text | Id of the staff who added the student to the event | No |
Comments | Biology homework | Text | Comments associated with the student | No |
DetentionStaff - Optional
The DetentionStaff section lists the involved staff members. It can be omitted entirely. There can be multiple staff associated with a single Detention—ensure the DetentionId for multiple staff all reference the intended Detention record.
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
DetentionId | 1 | Integer | Id of the linked conduct event in this writeback | Yes |
StaffId | 9919 | Text | Id of the staff member | Yes |
Callback - Optional
Property | Example | Data Type | Description | Mandatory? |
---|---|---|---|---|
Method | POST | String | Pass POST for this property | Yes |
Url | https://xporter.groupcall.com/TryIt/Callback/?id=ConductBeh&estab=3281102 | String | Your URL that will receive the callback | Yes |
Updating Records
To update a record rather than add a new record, include the additional field UpdateId in the Detention section of the JSON object. You do not need to include UpdateId in other child sections. Child records will be amended or added according to the appropriate MIS id field in its section.
This example will update the student detention record relating to conduct MIS id of 3785 and student MIS id of 9919, setting their Points to 11.
{
"Conducts": [
{
"Id": 1,
"UpdateId": 3785,
"IncidentType": "Ach"
}
],
"Participants": [
{
"ConductId": 1,
"Points": 11,
"StudentId": 9919
}
]
}
Deleting Records
To delete a record, first include an UpdateId to update the record. You can then place a minus symbol in front of the StudentId or StaffId of any child sections that you wish to delete (for example, -3786). You can use this to remove students and staff from the detention.
Please note that the parent Detention record cannot be deleted in SIMS.
This example will delete the student with MIS id of 9919 from the conduct record with MIS id 3788:
{
"Conducts": [
{
"Id": 1,
"UpdateId": 3788,
"IncidentType": "Ach"
}
],
"Participants": [
{
"ConductId": 1,
"StudentId": -9919
}
]
}
Callback on Completion
By specifying a callback URL in the POST data, you will let XporterOnDemand know that you would like us to call you back when the writeback has completed so you don't have to wait around for it to finish. The example JSON in the sandbox is sending a callback to our URL which you can open and have a look at so you can see what it will look like:
- Callback URL example: https://xportertesting.groupcall.com/TryIt/Callback/
We will call you back on your URL with the id and estab parameters that you passed in the writeback POST. We will also include an additional parameter XodCompleted with a value of True or False, which determines the success or failure of the writeback attempt. When a Detention is successfully written back, we will also include POST body data with the Id of the event that was created in the MIS so you can reconcile a successful writeback being made.
Example JSON response:
{
"result": [
{
"DetentionId": 1,
"ActualId": 1811
}
]
}
DetentionId: The incremental Id of the detention record that was specified in the JSON you POSTed.
ActualId: The MIS Id of the record that was created for that detention record.
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "Conducts": [
- {
- "Id": 1,
- "UpdateId": 3785,
- "IncidentType": "Ach"
}
], - "Participants": [
- {
- "ConductId": 1,
- "Points": 11,
- "StudentId": 9919
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{- "result": [
- {
- "DetentionId": 1,
- "ActualId": 1811
}
]
}
EntityAttributes Writeback
Writeback extra entity attributes for an XID
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |||||
Array
|
Responses
Request samples
- Payload
{- "attributes": [
- {
- "XID": "string",
- "Homework": "string"
}
]
}
GDPRfilter Writeback
Writeback GDPRfilter ids
Authorizations:
path Parameters
estab required | string establishment ID |
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "add": [
- {
- "ids": "string"
}
], - "remove": [
- {
- "ids": "string"
}
]
}
UserAsync Writeback Async
Writeback endpoint to assign Student/Staff/Contact records to provisioned AD Users in the MIS.
Authorizations:
Request Body schema: application/json
Array of objects | |
Array of objects |
Responses
Callbacks
Request samples
- Payload
{- "staff": [
- {
- "PersonId": "12345",
- "Username": "gatheringstorm\\\\albert.simmons"
}
], - "callback": [
- {
- "Method": "POST",
}
]
}
Response samples
- 200
{- "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "DataSet": {
- "trackingid": [
- {
- "trackingid": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
- "errorquery": "Writeback.AttendanceAsync_OnError"
}
]
}, - "Message": "success"
}
Callback payload samples
{- "result": [
- {
- "data": "Id: 789003a5-21a9-4e22-81e5-891bd9ebf2fc , Username: gatheringstorm\\albert.simmons",
- "Message": "User added sucessfully",
- "source": "SimsServer"
}
]
}
Invite a school or schools
Allows you to programmatically invite a school to share data with your application. Schools can trigger this process themselves from within your application.
Using the API to invite schools initiates the standard onboarding process which will send an invitation email to schools allowing them to begin the authorisation flow.
Authorizations:
Request Body schema: application/json
RegistrationType | string Enum: "Live" "Test" |
Array of objects |
Responses
Request samples
- Payload
{- "RegistrationType": "Live",
- "Schools": [
- {
- "LeaCode": "string",
- "DfesCode": "string",
- "SchoolName": "string",
- "SchoolContactFirstName": "string",
- "SchoolContactLastName": "string",
- "SchoolContactPhone": "string",
- "PartnerApplicationId": "string",
- "PartnerName": "string",
- "ScopesToAuthorise": "string",
- "AuthParams": "string",
- "WeAcceptGroupcallUsagePolicy": true
}
]
}
Response samples
- 200
{- "Schools": [
- {
- "LeaCode": "string",
- "DfesCode": "string",
- "Status": "string",
- "Message": "string"
}
]
}
Data Changes
Receive a callback if Xporter detects data for a specified database data has changed
Authorizations:
Request Body schema:
url | string The API call to Xporter with your estab and database name to recieve data change callbacks for. |
DatabaseName | string The database you wish to recieve data change notifications for. |
Responses
Request samples
- Payload
{- "DatabaseName": "XodSchoolData"
}
Response samples
- 200
- default
{- "Scopes": [
- {
- "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}
], - "Message": "string",
- "ExceptionType": "string",
- "ExceptionMessage": "string",
- "InnerException": "string"
}