Skip to main content

Xporter API

Xporter - School Data API (1.0.0)

Download OpenAPI specification:Download

Xporter School Data API

Authentication

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

Content type
application/json
{
  • "estab": "string",
  • "relyingParty": "string",
  • "password": "string",
  • "thirdpartyid": "string"
}

Response samples

Content type
application/json
{
  • "token": {
    }
}

Management APIs

Authorisation, logs, usage and other management APIs

Retrieve details on your token.

Unpack your STS token to review its contents

Authorizations:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "Estab": "string",
  • "Expires": "2019-08-24T14:15:22Z",
  • "Name": "string",
  • "RelyingParty": "string",
  • "Scopes": [
    ]
}

Retrieve list of scopes for your token.

Review details of scopes your token has access to

Authorizations:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "Scopes": [
    ],
  • "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:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "Logs": [
    ],
  • "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:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "Endpoints": [
    ],
  • "Queries": [
    ],
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string",
  • "InnerException": "string"
}

Usage for estab+rp

Usage history for establishment and relying party

Authorizations:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "Usage": [
    ],
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string",
  • "InnerException": "string"
}

GDPR Ids for estab+rp

GDPR Ids for estab+rp

Authorizations:
IdaasSTSToken

Responses

Response samples

Content type
application/json
{
  • "GDPR": [
    ],
  • "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:
IdaasSTSToken
query Parameters
estab
string

Return a single school

includePendingAuthorisation
boolean

Include pending authorisation schools

Responses

Response samples

Content type
application/json
{
  • "Authorised": [
    ],
  • "Revoked": [
    ],
  • "PendingAuthorisation": [
    ]
}

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:
IdaasSTSToken
Request Body schema: application/json
RegistrationType
string
Enum: "Live" "Test"
Array of objects

Responses

Request samples

Content type
application/json
{
  • "RegistrationType": "Live",
  • "Schools": [
    ]
}

Response samples

Content type
application/json
{
  • "Schools": [
    ]
}

Revoke Data Access

Revoke access and stop the data feed between a school and partner

Authorizations:
IdaasSTSToken
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

Content type
{
  • "Estab": "string",
  • "RevokeDate": "string",
  • "RevokeDateTime": "string"
}

Response samples

Content type
application/json
{
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string",
  • "InnerException": "string"
}

Check Estab

Check if an estab has Xporter on Demand setup

Authorizations:
IdaasSTSToken
query Parameters
Estab
required
string

7 digit estab code for the estab to check

Responses

Response samples

Content type
application/json
{
  • "Scopes": [
    ],
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string",
  • "InnerException": "string"
}

Automation

APIs to help automate your data and onboarding workflows

Achievement

Endpoints relating to Achievement

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


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:
IdaasSTSToken
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

Content type
application/json
{
  • "achievementfordaterange": [
    ],
  • "StudentAchievements": [
    ],
  • "StaffAchievements": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Achievements for Today

Retrieve positive achievement conduct records for a date range with optional filters to refine the returned dataset

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:
IdaasSTSToken
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

Content type
application/json
{
  • "achievementfordaterange": [
    ],
  • "StudentAchievements": [
    ],
  • "StaffAchievements": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Assessment

Endpoints relating to Assessment

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "assessmentresults": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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)

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:
IdaasSTSToken
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

Content type
application/json
{
  • "assessmentresults": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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)

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:
IdaasSTSToken
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

Content type
application/json
{
  • "assessmentresults": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "assessmentresults": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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


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:
IdaasSTSToken
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

Content type
application/json
{
  • "Aspects": [
    ],
  • "Templates": [
    ],
  • "Marksheets": [
    ],
  • "Columns": [
    ],
  • "ResultSets": [
    ],
  • "GradeSetHistory": [
    ],
  • "GradeSets": [
    ],
  • "Grades": [
    ],
  • "MarkSets": [
    ],
  • "Categories": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Attendance

Endpoints relating to attendance

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "AttendCodes": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "AttendMarks": [
    ],
  • "DateRange": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "AttendMarks": [
    ],
  • "DateRange": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Attendance Summary

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "AttendanceSummary": [
    ],
  • "AttendCodes": [
    ],
  • "MinutesLate": [
    ],
  • "AttendanceNotes": [
    ],
  • "StatutoryComments": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "AttStatsByWeek": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "HistoricalAttendanceSummary": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:

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:

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:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
Example
{}

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:

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:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array of objects

Responses

Callbacks

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{ }

Behaviour

Endpoints relating to Behaviour

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Behaviour": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Behaviour": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Exams

Endpoints relating to Exams

ExamCandidates

Retrieve Exam Candidates

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "examcandidates": [
    ],
  • "ExternalCandidates": [
    ],
  • "ExamSittings": [
    ],
  • "ExamArrangements": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Exam Entries

Using the information from the school.students and school.examsstructure endpoints, request specific examinations results data.

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "ExamEntries": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Exam Forecasts

Using the information from the school.students and school.examsstructure endpoints, request specific examinations results data.

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "ForecastResults": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "ExamResults": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "Aspects": [
    ],
  • "Resultsets": [
    ],
  • "Gradesets": [
    ],
  • "GradesetHistories": [
    ],
  • "Grades": [
    ],
  • "Marksets": [
    ],
  • "ExamSeasons": [
    ],
  • "QANs": [
    ],
  • "SyllabusCodes": [
    ],
  • "OptionCodes": [
    ],
  • "ExamBoards": [
    ],
  • "ExamLevels": [
    ],
  • "ExamSeries": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

School

Endpoints relating to school structure and general information

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.

  • 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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Agency": [
    ],
  • "Agent": [
    ],
  • "AgencyStudent": [
    ],
  • "AgentStudent": [
    ],
  • "AgencyAgent": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Applications

Get extended details for Applicants and Applications

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "Applications": [
    ],
  • "Applicants": [
    ],
  • "ApplicantSENProvisions": [
    ],
  • "ApplicantSENNeeds": [
    ],
  • "ApplicantMedicalEvents": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "SchoolCalendar": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "counts": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentFAM": [
    ],
  • "LearnerSupport": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "GroupHistory": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Group": [
    ],
  • "StaffMembers": [
    ],
  • "StudentMembers": [
    ],
  • "GroupTypes": [
    ],
  • "SubGroups": [
    ],
  • "StandardYearGroupLookup": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.
  • SchoolDataAgeDays:

    • Identifies how many days ago the XodSchoolData cache was generated.
  • 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:
IdaasSTSToken
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

Content type
application/json
{
  • "health": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "InterventionOvervews": [
    ],
  • "Interventions": [
    ],
  • "InterventionStaff": [
    ],
  • "InterventionContacts": [
    ],
  • "InterventionAgents": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "DiscountCodes": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "DiscountCodes": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

linkeddocumentmeta

Retrieve linked document meta data

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "DocumentAttachmentMeta": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "DocumentAttachments": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

LinkedDocumentTypes

Endpoint Description

Retrieves a list of Document Types. The Document Type Name is a required parameter for the LinkedDocuments endpoint.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "DocumentTypes": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "LookupMeta": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

lookuptypes

Retrieves a list of Lookup Types. The Lookup Type Name is an optional parameter for the LookupMeta endpoint.

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "LookupTypes": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

payscales

Retrieves a list of pay scales

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "payscales": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

MISEndpointSupport

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "EndpointSupport": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "ParentalConsents": [
    ],
  • "ParentalConsentLookups": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "PersonComms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Photos": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Retrieval of SchoolInfo

Endpoint Description

Retrieve information about the school establishment including contact and address details where available from the MIS.



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
Email 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:
IdaasSTSToken
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

Content type
application/json
{
  • "SchoolInfo": [
    ],
  • "Sites": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Retrieval of scope fields

Retrieval of scope fields

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "ScopeFieldDictionary": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Fetch seating plans for a group

Fetch seating plans for a group

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "SeatingPlan": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Tags

Tags

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "Tags": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

testerror

Returns an error for testing purposes

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string"
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "UDFs": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Validation Errors

Validation errors

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "ValidationErrors": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

XIDs

XIDs

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "XIDs": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Students

Endpoints relating to students

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "ConductTypes": [
    ],
  • "ConductLookups": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "ConductTypes": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Students": [
    ],
  • "StudentSiblings": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentSchoolHistory": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Deceased students

Fetch a list of deceased students for an establishment (or optionally only one student)

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "Students": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentUDFs": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentMealPatterns": [
    ],
  • "StudentMealTypes": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "ConditionLookups": [
    ],
  • "StudentConditions": [
    ],
  • "StudentMedical": [
    ],
  • "StudentMedicalNotes": [
    ],
  • "StudentMedicalEvents": [
    ],
  • "MedicalEventNotes": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Student interventions and associated data.

Student interventions and associated data.

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentInterventions": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentSchoolHistory": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentEnrolmentHistory": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentAlternativeProvision": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "counts": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Detention Lookups

Provides the required lookup ID values for the codes and types needed when writing back detections to the MIS

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "counts": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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)

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:
IdaasSTSToken
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

Content type
application/json
{
  • "counts": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "DietaryNeeds": [
    ],
  • "StudentDietaryNeeds": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

discountcodes

Retrieve discount codes

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "discountcodes": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "EntitlementGroups": [
    ],
  • "EntitlementGroupStudents": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentFAM": [
    ],
  • "LearnerSupport": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "GroupHistory": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Group": [
    ],
  • "StaffMembers": [
    ],
  • "StudentMembers": [
    ],
  • "GroupTypes": [
    ],
  • "SubGroups": [
    ],
  • "StandardYearGroupLookup": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "InterventionOvervews": [
    ],
  • "Interventions": [
    ],
  • "InterventionStaff": [
    ],
  • "InterventionContacts": [
    ],
  • "InterventionAgents": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Post16Study": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.



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)

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:
IdaasSTSToken
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

Content type
application/json
{
  • "PriorAttainment": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.



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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentSENTypeHistory": [
    ],
  • "StudentSENProvisionHistory": [
    ],
  • "StudentDisabilities": [
    ],
  • "StudentSENReviews": [
    ],
  • "SENEvents": [
    ],
  • "SENEventPersons": [
    ],
  • "SENStatements": [
    ],
  • "SENStatementDocuments": [
    ],
  • "SENEHCP": [
    ],
  • "SENEHCPDocuments": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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).

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentContacts": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Contacts

Endpoints relating to student contacts including relationships

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Contacts": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Contacts": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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).

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StudentContacts": [
    ],
  • "meta": [
    ],
  • "__pagination__": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Staff

Endpoints relating to staff

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:
IdaasSTSToken
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

Content type
application/json
{
  • "counts": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "Staff": [
    ],
  • "StaffHierarchy": [
    ],
  • "StaffVehicles": [
    ],
  • "StaffNextOfKin": [
    ],
  • "StaffSWAC": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffAbsence": [
    ],
  • "AbsenceCertificate": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffChecks": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffContracts": [
    ],
  • "StaffRoles": [
    ],
  • "StaffScales": [
    ],
  • "StaffAllowances": [
    ],
  • "StaffWorkingPatterns": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "DocumentAttachments": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

StaffImpairments

Staff Impairments

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffImpairments": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffQualifications": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

StaffTraining

Staff training

Authorizations:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffTraining": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "StaffUDFs": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Timetable

Endpoints relating to timetabling

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Lessons": [
    ],
  • "LessonStaff": [
    ],
  • "LessonRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Lessons": [
    ],
  • "LessonStaff": [
    ],
  • "LessonRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Lessons": [
    ],
  • "LessonStaff": [
    ],
  • "LessonRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.

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:
IdaasSTSToken
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

Content type
application/json
{
  • "Lessons": [
    ],
  • "LessonStaff": [
    ],
  • "LessonRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "Timetables": [
    ],
  • "TimetableDays": [
    ],
  • "TimetablePeriods": [
    ],
  • "TimetableLessons": [
    ],
  • "LessonClasses": [
    ],
  • "LessonStaff": [
    ],
  • "LessonRooms": [
    ],
  • "Rooms": [
    ],
  • "TimetableDayInstances": [
    ],
  • "LessonInstances": [
    ],
  • "CoverLessons": [
    ],
  • "CoverLessonStaff": [
    ],
  • "CoverLessonRooms": [
    ],
  • "RoomClosures": [
    ],
  • "AllRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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.


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:
IdaasSTSToken
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

Content type
application/json
{
  • "TTDays": [
    ],
  • "TTSessions": [
    ],
  • "TTPeriods": [
    ],
  • "TTSubjects": [
    ],
  • "TTRooms": [
    ]
}

Callback payload samples

Callback
POST: {$request.query.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Writeback

Push data back to the school's management system

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:

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:

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:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
Example
{}

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:

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:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array of objects

Responses

Callbacks

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{ }

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ],
  • "Staff": [
    ],
  • "MediaFiles": [
    ],
}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

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:

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:
IdaasSTSToken
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

Content type
application/json
Example
{
  • "Conducts": [
    ],
  • "Participants": [
    ]
}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

EntityAttributes Writeback

Writeback extra entity attributes for an XID

Authorizations:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array
XID
string
Homework
string

Responses

Request samples

Content type
application/json
{
  • "attributes": [
    ]
}

GDPRfilter Writeback

Writeback GDPRfilter ids

Authorizations:
IdaasSTSToken
path Parameters
estab
required
string

establishment ID

Request Body schema: application/json
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "add": [
    ],
  • "remove": [
    ]
}

Photos Writeback

Writeback Photos

Authorizations:
IdaasSTSToken
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

SeatingPlan Writeback

SeatingPlan Photos

Authorizations:
IdaasSTSToken
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

TagDefinitions Writeback

TagDefinitions Photos

Authorizations:
IdaasSTSToken
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Tags Writeback

Tags Photos

Authorizations:
IdaasSTSToken
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

UserAsync Writeback Async

Writeback endpoint to assign Student/Staff/Contact records to provisioned AD Users in the MIS.

Authorizations:
IdaasSTSToken
Request Body schema: application/json
Array of objects
Array of objects

Responses

Callbacks

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "TrackingId": "20171101121545.66a1289c-5186-4448-9847-ccdd28054230",
  • "DataSet": {
    },
  • "Message": "success"
}

Callback payload samples

Callback
POST: {$request.body.callbackUrl}
Content type
application/json
{
  • "result": [
    ]
}

Onboarding

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:
IdaasSTSToken
Request Body schema: application/json
RegistrationType
string
Enum: "Live" "Test"
Array of objects

Responses

Request samples

Content type
application/json
{
  • "RegistrationType": "Live",
  • "Schools": [
    ]
}

Response samples

Content type
application/json
{
  • "Schools": [
    ]
}

Webhook APIs

Data Changes

Receive a callback if Xporter detects data for a specified database data has changed

Authorizations:
IdaasSTSToken
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

Content type

Response samples

Content type
application/json
{
  • "Scopes": [
    ],
  • "Message": "string",
  • "ExceptionType": "string",
  • "ExceptionMessage": "string",
  • "InnerException": "string"
}