WCBS HUBmis (1.2.0)

Download OpenAPI specification:Download

HUBmis development team: support@wcbs.co.uk URL: https://www.wcbs.co.uk/support

Introduction

The HUBmis JSON API provides an easy-to-use and functionality-rich RESTful interface for developers to build their own solutions. Requests/responses are provided in JSON format.

Once authenticated (see 'Authentication' for more details), requests are made for a selected 'Realm' ID, which corresponds to the school you wish to access the API on behalf of.

Production Base URLs:

If you would like to register to use the HUBmis API, please go to https://www.wcbs.co.uk/contact-us

Authentication

After you have registered to use the HUBmis API, you will be sent an email to your registered email address with information about how to obtain your client credentials in order to generate an access token. Your client secret must be kept confidential and stored securely. Upon obtaining your client credentials, you can authenticate to the API as follows:

  1. Make a request to the OAuth > Token endpoint with the client_credentials OAuth grant and your client_id and client_secret:
Request
```
POST /api/v1/token HTTP/1.1
Host: api.hubmis.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 73

grant_type=client_credentials&client_id=client123&client_secret=secret123
```

Response
```
{
    "token_type": "Bearer",
    "expires_in": 86400,
    "access_token": "123.abc.xyz"
}
```
  1. The access_token in the response can then be sent in the Authorization header (alongside Realm) for all other API requests:
  Authorization: Bearer xyz123.abc
  Realm: xyz123

Access tokens expire after 15 minutes. When expired, the API will respond with a HTTP status code of 401 (Unauthorized), after which you will need to obtain a new token.

Usage Limits

The HUBmis API is rate-limited to 12 requests per minute per IP address and 500 requests per client, with a rate of one new request every 5 seconds. For example, if you make one request from the 500 available and after 5 seconds make no other requests, the available number will increase back to 500.

When the limit has been reached, the API will respond with a HTTP status code of 429 Too Many Requests and you will need to wait at least 5 seconds to make a new request.

The following 3 headers in the response provide information of the limit, how many requests are remaining and the date-time (as a Unix timestamp) after which the request can be retried:

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 495
X-RateLimit-Retry-After: 1615203774

Token

Token acquisition

Get access token

Get an access token with the client_credentials grant

Request Body schema: application/json
grant_type
string
Value: "client_credentials"
client_id
string
client_secret
string

Responses

Request samples

Content type
application/json
{
  • "grant_type": "client_credentials",
  • "client_id": "abc123XYZ",
  • "client_secret": "Secret123"
}

Response samples

Content type
application/json
{
  • "token_type": "Bearer",
  • "expires_in": 900,
  • "access_token": "abc123.xyz"
}

Students

Students module - Contains services that pertain to Student Profile data.

Email Addresses: Get List of Email Addresses by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get List of Progress Reports by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Student: Get list of Wellbeing Plans for a specific Student

Get Student Wellbeing Plan

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
filter[assignedTo]
integer

Filter results by assigned Staff ID

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

filter[category]
integer

Filter the table results by Category ID

filter[status]
string
Enum: "active" "inactive"

Filter the table results by Status

filter[severity]
integer

Filter the table results by Severity ID

object

Range filter for date/time

search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Student: Get list of Wellbeing Events for a specific Student

Get Student Wellbeing Events

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
filter[assignedTo]
integer

Filter results by assigned Staff ID

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

filter[category]
integer

Filter the table results by Category ID

filter[status]
string
Enum: "active" "inactive"

Filter the table results by Status

filter[severity]
integer

Filter the table results by Severity ID

object

Range filter for date/time

search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Contacts: Get List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the table results by Status ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Contact Students Relations: Get List

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Email Addresses: Get List of Email Addresses by contact Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Phones: Get List of Phones by contact Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Communication Preferences: Get List of Communication Preferences by contact Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Houses: Get Houses

Authorizations:
OAuth
query Parameters
filter[houseType]
string
Enum: "academic" "boarding"

Filter the results by the type of House

filter[isActive]
boolean

Filter the Houses list by the Active status

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Houses: Get House

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
academic-year-id
integer

By default, the active year is used. Use this optional header to override

realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 9,
  • "address": null,
  • "code": "GH",
  • "genders": [
    ],
  • "house_parents": [
    ],
  • "house_type": "boarding",
  • "images": [],
  • "max_students": 100,
  • "name": "Green House",
  • "note": null,
  • "phone": null,
  • "profile_image": {
    },
  • "staff": [
    ],
  • "system_profile_image": "aqua",
  • "is_active": true
}

House: Get Students

This call will provide currently enrolled students (enrolment status 'current')

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
search
string

API Query Search

filter[gender]
integer

Filter the results by gender ID

filter[boardingType]
integer

Filter the table results by Boarding Type of the Student

filter[form]
integer

Filter the results by Form ID

filter[yearGroup]
integer

Filter the results by YearGroup ID

object or object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

header Parameters
realm
required
string
Example: S999

Realm ID

academic-year-id
integer

By default, the active year is used. Use this optional header to override

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Houses: Get Houses Summary

Authorizations:
OAuth
query Parameters
filter[houseType]
string
Enum: "academic" "boarding"

Filter the results by the type of House

academicYearId
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Boarding Types: List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Education Types: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

School & College Categories: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Schools & Colleges: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Relationship Groups: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Relationship Types: List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get Students Past List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[gender]
integer

Filter the results by gender ID

filter[destinationSchool]
integer

Filter the table results by DestinationSchool ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get List

Get a collection of Student records. Requires students.current.overview.name-details.read, students.current.overview.personal.read, students.past.read and students.admissions.admissions.read scopes for basic call, students.current.overview.name-details.read & students.current.overview.personal.read if filtering enrolmentStatus by 'current', and students.past.read or students.admissions.admissions.read if filtering by 'past' or 'applicant' respectively

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[gender]
integer

Filter the results by gender ID

filter[academicYear]
string

Filter the table results by academic year ID

filter[boardingType]
integer

Filter the table results by Boarding Type of the Student

filter[form]
integer

Filter the results by Form ID

filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[enrolmentStatus]
string

Filter the results by enrolment status

filter[house]
string

Filter the students being within academic house or boarding house via house ID

filter[tutorGroup]
integer

Filter the results by Tutor Group ID

object or object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

header Parameters
realm
required
string
Example: S999

Realm ID

academic-year-id
integer

By default, the active year is used. Use this optional header to override

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of Address Mappings for a Student

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get Student

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

academic-year-id
integer

By default, the active year is used. Use this optional header to override

Responses

Response samples

Content type
application/json
{
  • "id": 56,
  • "access_status": "invited",
  • "multi_realm": false,
  • "academic_house": {
    },
  • "boarding_type": {
    },
  • "boarding_house": {
    },
  • "country_of_birth": {
    },
  • "date_of_birth": "2010-08-24",
  • "deleted_at": null,
  • "ethnicity": {
    },
  • "enrolment_status": "current",
  • "external_id": "MX99328",
  • "faith": {
    },
  • "first_name": "Miles",
  • "gender": {
    },
  • "has_global_note": false,
  • "form": {
    },
  • "language_first": {
    },
  • "language_second": {
    },
  • "last_login": "2019-08-24T14:15:22Z",
  • "last_name": "Whyde",
  • "learning_support_record_summary": [ ],
  • "middle_name": null,
  • "name_in_local_language": null,
  • "national_identity": null,
  • "nationalities": [
    ],
  • "person_type": "stduent",
  • "preferred_name": null,
  • "primary_email": "user@example.com",
  • "profile_image": {
    },
  • "tags": [
    ],
  • "medical_condition_severity": [
    ]
}

Get a list of related records/addresses for a student

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get consent data by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "photograph": true,
  • "publish_photograph": true,
  • "publish_video": true,
  • "share_photograph": true,
  • "share_video": true,
  • "share_data": true,
  • "school_trip": true
}

Students: Get destination data by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "leaving_status": "Leaver",
  • "leaving_date": "2019-08-24",
  • "term": {
    },
  • "academic_year": {
    },
  • "destination_start_date": null,
  • "destination": {
    },
  • "key_stage": "KS3"
}

Students: Get enrolment data by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "enrolment_status": "current",
  • "start_date": "2017-08-24",
  • "account_reference": "OU812",
  • "candidate_number": "AA23",
  • "unique_pupil_number": "90210",
  • "unique_pupil_number_status": "temporary"
}

Students: Get Learning Support fields by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "authority": {
    },
  • "authority_type": {
    },
  • "disability": false,
  • "disability_description": null,
  • "placement_date": "2019-08-24"
}

Learning Support: Get List of Learning Support Reviews by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[reviewType]
integer

Filter the results based on Record's Review Type ID value

filter[isStudentAttending]
boolean

Filter the results based on Review's 'Is Student Attending' value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support: Get List of Learning Support Records by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[ehcp]
boolean

Filter the results based on boolean 'EHCP' value

filter[severity]
integer

Filter the results based on Record's Severity ID value

filter[learningSupportType]
integer

Filter the results based on Record's Learning Support Type ID value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get doctor information by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "title": {
    },
  • "first_name": "Nicolas",
  • "last_name": "Van Helsing",
  • "email": null,
  • "phone": "0117 555 5555",
  • "address": "1234 Pleasant Crescent"
}

Students to Students Relations: Get list by student id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Student Contacts Relations: Get List

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of related records/addresses for a contact

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Academic Structure

Endpoints related to the academic structure: years, lessons etc

Departments: Get list Deprecated

Get list of school Departments

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Departments: Get list

Get list of school Departments

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Departments: Get one Deprecated

Get a Department

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 3,
  • "academic_year": {
    },
  • "code": "SCI",
  • "department_heads": [
    ],
  • "name": "Science",
  • "subjects": [
    ]
}

Departments: Get one

Get a Department

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "academic_year": {
    },
  • "code": "string",
  • "department_heads": [
    ],
  • "name": "string",
  • "subjects": [
    ],
  • "can_copy": true
}

Extra Curricular Activity: Get list for an Academic Year

Get list of Extra Curricular Activities in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[yearGroup]
integer

Filter the results by YearGroup ID

search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Extra Curricular Activity: Get one in an Academic Year

Get an Extra Curricular Activity in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "academic_year": {
    },
  • "code": "ORCH",
  • "max_students": 40,
  • "name": "Orchestra",
  • "rooms": [
    ],
  • "short_description": "School Orchestra",
  • "staff": [
    ],
  • "staff_report_writers": [
    ],
  • "student_count": 30,
  • "timetable_code": "Orch",
  • "id": 54,
  • "date_start": "2019-01-24",
  • "date_end": "2019-11-24",
  • "year_groups": [ ]
}

Form Group: Get list for Academic Year

Get list of School Forms in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[section]
integer

Filter the results by Section ID

object or object

Sort records by given sort field, e.g. sort[field]=asc

search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Form Group: Get one in an Academic Year

Get a School Form in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "academic_year": {
    },
  • "code": "9A",
  • "max_students": 40,
  • "name": "Form 9A",
  • "rooms": [
    ],
  • "short_description": "Year 9 form group A",
  • "staff": [
    ],
  • "staff_report_writers": [
    ],
  • "student_count": 30,
  • "timetable_code": "9A",
  • "id": 93,
  • "section": {
    },
  • "year_group": {
    },
  • "student_representatives": [
    ]
}

Form Group: Get list of Students

List Students for Form Group

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sections: Get list Deprecated

Get list of School Sections

Authorizations:
OAuth
query Parameters
object

Sort records by given sort field, e.g. sort[field]=asc

filter[groupType]
string
Enum: "form" "subject_set" "tutor_group" "year_group"

Filter the results by group type, applied only for owner/teacher permissions

assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sections: Get list

Get list of School Sections

Authorizations:
OAuth
query Parameters
object

Sort records by given sort field, e.g. sort[field]=asc

filter[groupType]
string
Enum: "form" "subject_set" "tutor_group" "year_group"

Filter the results by group type, applied only for owner/teacher permissions

assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sections: Get one Deprecated

Get a School Section

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 5,
  • "code": "MS",
  • "name": "Middle School",
  • "section_heads": [
    ],
  • "year_groups": [
    ],
  • "position": 1
}

Subjects: Get list Deprecated

Get list of school Subjects

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[department]
integer

Filter the results by Department ID

filter[section]
integer

Filter the results by Section ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subjects: Get list

Get list of school Subjects

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[department]
integer

Filter the results by Department ID

filter[section]
integer

Filter the results by Section ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subjects: Get one Deprecated

Get a Subject

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 88,
  • "academic_year": {
    },
  • "alternative_name": "Life Science",
  • "code": "BY",
  • "color_option": 3,
  • "department": {
    },
  • "name": "Biology",
  • "subject_heads": [
    ]
}

Subjects: Get one

Get a Subject

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 33,
  • "academic_year": {
    },
  • "alternative_name": null,
  • "code": "MATH",
  • "department": {
    },
  • "name": "Maths",
  • "can_copy": false,
  • "subject_heads": [
    ]
}

Subject Sets: Get list for an Academic Year Deprecated

Get list of Subject Sets in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[section]
integer

Filter the results by Section ID

filter[subject]
integer

Filter the results by Subject ID

object or object

Sort records by given sort field, e.g. sort[field]=asc

search
string

API Query Search

assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of Subject Sets in an Academic Year

Get list of Subject Sets in an Academic Year

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

filter[section]
integer

Filter the results by Section ID

filter[subject]
integer

Filter the results by Subject ID

filter[yearGroup]
integer

Filter the results by YearGroup ID

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

Code (object) or Credit Score (object) or Max Students (object) or Name (object) or Section (object) or StudentCount (object) or Subject (object) or Year Group (object)

Sort records by given sort field, e.g. sort[field]=asc

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subject Sets: Get one in an Academic Year

Get a Subject Set in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "academic_year": {
    },
  • "code": "ENG9A",
  • "max_students": 40,
  • "name": "English 9A",
  • "rooms": [
    ],
  • "short_description": "English class year 9 group A",
  • "staff": [
    ],
  • "staff_report_writers": [
    ],
  • "student_count": 30,
  • "timetable_code": "9AEng",
  • "id": 25,
  • "credit_score": 12,
  • "date_start": "2019-04-24",
  • "date_end": "2019-09-24",
  • "qualification": {
    },
  • "section": {
    },
  • "subject": {
    },
  • "year_group": {
    }
}

Subject Sets: Get list of Students for a Subject Set

List Students for Subject Set

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tutor Groups: Get list for an Academic Year

Get list of Tutor Groups in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
filter[section]
integer

Filter the results by Section ID

object

Sort records by given sort field, e.g. sort[field]=asc

search
string

API Query Search

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tutor Groups: Get one in an Academic Year

Get a Tutor Group in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "academic_year": {
    },
  • "code": "TG09X",
  • "max_students": 40,
  • "name": "Year 9 Tutor Group X",
  • "rooms": [
    ],
  • "short_description": "Year 9 Tutor Group X",
  • "staff": [
    ],
  • "staff_report_writers": [
    ],
  • "student_count": 10,
  • "timetable_code": "TG9X",
  • "id": 98,
  • "section": {
    }
}

Tutor Groups: Get list of Students in a Tutor Group

List Students for Tutor Group

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Year Groups: Get list for an Academic Year

Get list of school Year Groups for this Academic Year

path Parameters
academicYearId
required
integer

Integer ID of Academic Year

query Parameters
object or object

Sort records by given sort field, e.g. sort[field]=asc

filter[section]
integer

Filter the results by Section ID

assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Year Groups: Get one in an Academic Year

Get a Year Group in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 8,
  • "academic_year": {
    },
  • "code": "Y9",
  • "dfe_year": "1",
  • "final_year": false,
  • "form_count": 4,
  • "key_stage": "KS5",
  • "max_students": 500,
  • "name": "Year 9",
  • "position": 5,
  • "section": {
    },
  • "status": "active",
  • "total_student_count": 400,
  • "uuid": "28db8526-dc32-4d18-9093-cde010d15b0b",
  • "year_group_heads": [
    ]
}

Fetch Academic Structure Data For Staff

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Fetch Academic Leadership Data For Staff

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Fetch classes for which the staff member is a leader of

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Student: Fetch Academic Structure Data For Students

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Address

Management of addresses

Get list of Address Mappings for a Staff

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get one Address Mapping for a staff member

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

mappingId
required
integer

Represents the ID of an address mapping

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 147,
  • "address_types": [
    ],
  • "position": 1,
  • "address": {
    },
  • "formatted_address": "BBC News, 123 Sesame Street, North End, Avon, BS4 EV4"
}

Get list of Address Mappings for a Student

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of related records/addresses for a student

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of related records/addresses for a contact

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support

Learning Support module - available as an extra purchase.

Learning Support Records: List

Authorizations:
OAuth
query Parameters
filter[yearGroup]
integer

Filter the results by YearGroup ID

search
string

API Query Search

object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

LearningSupport Record: Get

Either of the listed scopes is required

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 15,
  • "description": "Mild ADHD",
  • "ehcp": true,
  • "ehcp_date": "2019-08-24",
  • "files": [
    ],
  • "learning_support_date": "2019-08-24",
  • "learning_support_type": {
    },
  • "severity": {
    },
  • "status": {
    },
  • "student": {
    },
  • "inactive_date": null
}

Learning Support Records: Get a list of Record statuses

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Severities: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Types: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Review Types: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support: Get Learning Support Review by Id

Either of the listed scopes is required

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 18,
  • "agreed_actions": "It was decided to monitor the situation and for another meeting to be held in 6 months' time.",
  • "attending_contacts": [
    ],
  • "attending_contact_text": "Also attending was the student's doctor, Dr Malthouse",
  • "attending_staff": [
    ],
  • "is_student_attending": true,
  • "description": "Review of the student's use of tinted glasses to attempt to address issues.",
  • "ehcp_notes": "None",
  • "files": [
    ],
  • "meeting_aims": "Recording of any observations on whether there is any change in the student's behaviour & learning outcomes",
  • "next_review": "2019-08-24T14:15:22Z",
  • "review_type": {
    },
  • "review_date_time": "2019-04-24T14:15:22Z",
  • "special_needs_coordinators": [
    ],
  • "review_status": {
    }
}

Learning Support terminology - terms selected that describes Learning Support for current school

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get Learning Support fields by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "authority": {
    },
  • "authority_type": {
    },
  • "disability": false,
  • "disability_description": null,
  • "placement_date": "2019-08-24"
}

Learning Support: Get List of Learning Support Reviews by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[reviewType]
integer

Filter the results based on Record's Review Type ID value

filter[isStudentAttending]
boolean

Filter the results based on Review's 'Is Student Attending' value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support: Get List of Learning Support Records by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[ehcp]
boolean

Filter the results based on boolean 'EHCP' value

filter[severity]
integer

Filter the results based on Record's Severity ID value

filter[learningSupportType]
integer

Filter the results based on Record's Learning Support Type ID value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff

Staff module - Contains services that pertain to Staff Profile data.

Staff: Get List

Get a collection of Staff records. Requires staff.current.overview.name-details.read, staff.past.read scopes for basic call, or each individual scope if filtering by status = 'current' or 'past' respectively

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[department]
integer

Filter the results by Department ID

filter[section]
integer

Filter the results by Section ID

filter[status]
integer

Filter the table results by Status ID

filter[subject]
integer

Filter the results by Subject ID

filter[form]
integer

Filter the results by Form ID

filter[subjectSet]
integer

Filter the results by Subject Set ID

filter[tutorGroup]
integer

Filter the results by Tutor Group ID

filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[gender]
integer

Filter the results by gender ID

object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

assessmentCreation
boolean

Parameter used to enable in api v1 assessment creation functionality

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff: Get One Staff

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "access_status": "invited",
  • "multi_realm": false,
  • "academic_houses": [
    ],
  • "boarding_houses": [
    ],
  • "departments": [
    ],
  • "email": "user@example.com",
  • "external_id": "ST5466X",
  • "first_name": "Benjamin",
  • "forms": [
    ],
  • "gender": {
    },
  • "id": 12,
  • "images": [],
  • "job_title": "Head of Drama",
  • "last_name": "Kakistos",
  • "middle_name": null,
  • "person_type": "staff",
  • "preferred_name": "Ben",
  • "profile_image": {
    },
  • "roles": [
    ],
  • "rooms": [ ],
  • "sections": [
    ],
  • "status": "current",
  • "title": {
    }
}

Get list of Address Mappings for a Staff

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get one Address Mapping for a staff member

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

mappingId
required
integer

Represents the ID of an address mapping

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 147,
  • "address_types": [
    ],
  • "position": 1,
  • "address": {
    },
  • "formatted_address": "BBC News, 123 Sesame Street, North End, Avon, BS4 EV4"
}

Staff Contact Details: Get for Staff Member

Get contact detail information for a Staff member.

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "emergency_contact": "Mr Hercules Jones, 2045 Carpet Avenue, Pittsburgh. Call 1-800-LABRADOR after 4pm."
}

Emails: Get List of Email Addresses by staff Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff: Get Staff Employment Details

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "employment_contract": {
    },
  • "employment_start_date": "2010-08-24",
  • "employment_leave_date": "2019-08-24",
  • "graduate": true,
  • "nqt": true,
  • "nqt_expire_date": "2019-08-24",
  • "payroll_reference": "27B/6",
  • "personal_summary": "Diligent worker",
  • "qualifications": "PhD Marine Sport",
  • "reference": true,
  • "reference_number": "OO2332x/wasp"
}

Staff: Get Staff Further Details

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "site_resident": true,
  • "children": [
    ],
  • "consent_photo": true,
  • "first_aider": false,
  • "first_aid_qualified": null,
  • "first_aid_expire_date": null
}

Staff: Get Staff Personal Details

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "date_of_birth": "1979-08-24",
  • "ethnicity": {
    },
  • "gender": {
    },
  • "nationality": {
    },
  • "previous_last_name": null,
  • "marital_status": {
    },
  • "profile_signature_image": {
    },
  • "signature_images": []
}

Phones: Get List of Phones by Staff Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff: Get a list of days and working times for a staff member

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff Contract Types: List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff Positions: List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff: Get Staff School Details

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "departments": [
    ],
  • "id": 54,
  • "job_title": "Teacher",
  • "learning_support_coordinator": false,
  • "positions": [
    ],
  • "rooms": [ ],
  • "sections": [
    ],
  • "subjects": [
    ],
  • "timetable_code": "PK3"
}

Contacts

Contacts module - Contains all services that pertain to Contact Profile data.

Contacts: Get List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the table results by Status ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Contacts: Get Contact

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "access_status": "no_access",
  • "multi_realm": false,
  • "students_access": [
    ],
  • "deleted_at": "2019-08-24T14:15:22Z",
  • "external_id": null,
  • "first_name": "Sarah",
  • "gender": {
    },
  • "id": 37,
  • "last_name": "Shmyth",
  • "middle_name": null,
  • "primary_email": "user@example.com",
  • "profile_image": {
    },
  • "status": "active",
  • "students": [
    ],
  • "title": {
    },
}

Contacts: Get contact consent

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "consent": true
}

Get a list of related records/addresses for a contact

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

School

School configuration

Academic Years: Get list

List all Academic Years for a school

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Holidays: List all in an Academic Year

Get list of Holidays in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Inset Days: Get list for an Academic Year

Get list of Inset Days in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Terms: Get list for an Academic Year

Get list of Terms in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Closure Dates: List all in an Academic Year

Get list of Closure Dates in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Locations: List

Locations: Get All

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Rooms: List

Rooms: Get All

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[location]
integer

Filter the table results by Location ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Room: Get One

Rooms: Get one

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "description": "Standard room assigned to Maths department",
  • "location": {
    },
  • "room_capacity": 50,
  • "room_code": "Maths room",
  • "telephone_extension": "x123",
  • "timetable_code": "12355AAXP4"
}

Group Types: Get List

Group Types: Get All

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

School regional default settings

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "regional_country_id": 34,
  • "start_day_week": "monday",
  • "timezone": "Europe/London"
}

Attendance

Get all attendance codes

Attendance: get all attendance codes

Authorizations:
OAuth
query Parameters
filter[display]
boolean

Filter the results based on boolean 'display' value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a list of student session attendance records

Student attendance records: Get by student id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
filter[attendanceCode]
integer

Filter by Attendance Code

filter[attendanceSession]
string
Enum: "am" "pm"
Example: filter[attendanceSession]=am

Filter by Attendance Session Type

filter[dateTime][from]
string <date-time>

Filter - Date Start

filter[dateTime][to]
string <date-time>

Filter - Date End

Description (object) or Date (object) or Attendance code (object) or Attendance session (object)

Sort records by given sort field, e.g. sort[field]=asc

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support

Learning Support module - available as an extra purchase.

Learning Support Records: List

Authorizations:
OAuth
query Parameters
filter[yearGroup]
integer

Filter the results by YearGroup ID

search
string

API Query Search

object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

LearningSupport Record: Get

Either of the listed scopes is required

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 15,
  • "description": "Mild ADHD",
  • "ehcp": true,
  • "ehcp_date": "2019-08-24",
  • "files": [
    ],
  • "learning_support_date": "2019-08-24",
  • "learning_support_type": {
    },
  • "severity": {
    },
  • "status": {
    },
  • "student": {
    },
  • "inactive_date": null
}

Learning Support Records: Get a list of Record statuses

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Severities: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Types: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support Review Types: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support: Get Learning Support Review by Id

Either of the listed scopes is required

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 18,
  • "agreed_actions": "It was decided to monitor the situation and for another meeting to be held in 6 months' time.",
  • "attending_contacts": [
    ],
  • "attending_contact_text": "Also attending was the student's doctor, Dr Malthouse",
  • "attending_staff": [
    ],
  • "is_student_attending": true,
  • "description": "Review of the student's use of tinted glasses to attempt to address issues.",
  • "ehcp_notes": "None",
  • "files": [
    ],
  • "meeting_aims": "Recording of any observations on whether there is any change in the student's behaviour & learning outcomes",
  • "next_review": "2019-08-24T14:15:22Z",
  • "review_type": {
    },
  • "review_date_time": "2019-04-24T14:15:22Z",
  • "special_needs_coordinators": [
    ],
  • "review_status": {
    }
}

Learning Support terminology - terms selected that describes Learning Support for current school

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Students: Get Learning Support fields by student Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "authority": {
    },
  • "authority_type": {
    },
  • "disability": false,
  • "disability_description": null,
  • "placement_date": "2019-08-24"
}

Learning Support: Get List of Learning Support Reviews by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[reviewType]
integer

Filter the results based on Record's Review Type ID value

filter[isStudentAttending]
boolean

Filter the results based on Review's 'Is Student Attending' value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Learning Support: Get List of Learning Support Records by student Id

Requires either one of the listed scopes

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[status]
integer

Filter the results based on Record's 'Status' ID value

filter[ehcp]
boolean

Filter the results based on boolean 'EHCP' value

filter[severity]
integer

Filter the results based on Record's Severity ID value

filter[learningSupportType]
integer

Filter the results based on Record's Learning Support Type ID value

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Timetable Maintenance

Timetable module - Administration of timetables

Timetables: Get List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[academicYear]
string

Filter the table results by academic year ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Timetables: Get single Timetable

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 24,
  • "academic_year": {
    },
  • "name": "Q1 Weekly Junior School",
  • "rotating": true,
  • "duration_days": 5,
  • "date_from": "2019-01-03",
  • "date_to": "2019-04-24",
  • "time_from": "08:00:00",
  • "time_to": "16:30:00",
  • "sections": [
    ],
  • "created_at": "2018-08-24T14:15:22Z",
  • "updated_at": "2019-02-24T14:15:22Z",
  • "created_by": {
    },
  • "updated_by": {
    },
  • "last_published_staff_at": "2019-08-24T14:15:22Z",
  • "last_published_students_at": "2019-08-24T14:15:22Z",
  • "last_draft_at": "2019-08-24T14:15:22Z",
  • "last_version_updated_at": "2019-08-24T14:15:22Z",
  • "last_version_updated_by": {
    },
  • "queued_warning_generation": true,
  • "deleted": false,
  • "data_imported": "manual",
  • "days": [
    ],
  • "dates_based_on": "academic_year",
  • "dates_based_on_academic_term_id": 3
}

Timetable Views

Timetable module - Views and reporting of timetables, including calendar information

Staff: Get Timetable

Fetch collection of Timetable Periods that the Staff member is allocated against

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

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

Staff: Fetch Timetable Calendar

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
filter[dateFrom]
required
string <date>

Filter - Date Start

filter[dateTo]
required
string <date>

Filter - Date End

filter[date]
required
string <date>

Filter - Date

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

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

Student: Get Timetable

Fetch collection of Timetable Periods that the Student is allocated against

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

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

Students: Fetch Timetable Calendar

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

query Parameters
filter[dateFrom]
required
string <date>

Filter - Date Start

filter[dateTo]
required
string <date>

Filter - Date End

filter[date]
required
string <date>

Filter - Date

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

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

Pastoral

Pastoral Records, associated notes and actions

Pastoral Category: List

Authorizations:
OAuth
path Parameters
pastoralCategoryType
required
string
Enum: "wellbeing_event" "wellbeing_plan"

Pastoral category type

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Pastoral Category: Get one

Authorizations:
OAuth
path Parameters
pastoralCategoryType
required
string
Enum: "wellbeing_event" "wellbeing_plan"

Pastoral category type

id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 54,
  • "name": "Example category",
  • "position": 2,
  • "system_value": false,
  • "category": {
    },
  • "color": 0,
  • "sections": [
    ],
  • "deleted_at": "2019-08-24T14:15:22Z"
}

Pastoral Severity Levels: List

Authorizations:
OAuth
path Parameters
module
required
string
Value: "wellbeing"

Pastoral module

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Pastoral: Get list of Events Deprecated

Get list of Pastoral Events

Authorizations:
OAuth
query Parameters
filter[type]
string
Enum: "wellbeing_plan" "wellbeing_event"

Filter results by Pastoral Event Type

filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[form]
integer

Filter the results by Form ID

filter[category]
integer

Filter the table results by Category ID

filter[status]
string
Enum: "active" "inactive"

Filter the table results by Status

filter[severity]
integer

Filter the table results by Severity ID

object

Range filter for date/time

search
string

API Query Search

object or object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

filter[assignedTo]
integer

Filter results by assigned Staff ID

filter[includePastStudents]
boolean

Include Past Students in the query results (false if not passed)

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Pastoral: Get list of Events

Get list of Pastoral Events

Authorizations:
OAuth
query Parameters
filter[type]
string
Enum: "wellbeing_plan" "wellbeing_event"

Filter results by Pastoral Event Type

filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[form]
integer

Filter the results by Form ID

filter[category]
integer

Filter the table results by Category ID

filter[status]
string
Enum: "active" "inactive"

Filter the table results by Status

filter[severity]
integer

Filter the table results by Severity ID

object

Range filter for date/time

search
string

API Query Search

object or object or object or object or object or object or object or object

Sort records by given sort field, e.g. sort[field]=asc

page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

filter[assignedTo]
integer

Filter results by assigned Staff ID

filter[includePastStudents]
boolean

Include Past Students in the query results (false if not passed)

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Pastoral: Get summary of Events

Get summary of Pastoral Events

Authorizations:
OAuth
query Parameters
filter[type]
string
Enum: "wellbeing_plan" "wellbeing_event"

Filter results by Pastoral Event Type

filter[yearGroup]
integer

Filter the results by YearGroup ID

filter[form]
integer

Filter the results by Form ID

filter[category]
integer

Filter the table results by Category ID

filter[status]
string
Enum: "active" "inactive"

Filter the table results by Status

filter[severity]
integer

Filter the table results by Severity ID

object

Range filter for date/time

search
string

API Query Search

filter[assignedTo]
integer

Filter results by assigned Staff ID

filter[includePastStudents]
boolean

Include Past Students in the query results (false if not passed)

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Pastoral: Get single Event

Get Pastoral Event

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GIRFEC SHANARRI Items: Get List of SHANARRI Items by Pastoral Event Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Linked Items: Get List of linked items by Pastoral Event Id

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

GIRFEC Data: get year groups named persons

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Data

Endpoints which affect central settings - includes any list maintenance services (e.g. Countries). Data services that belong to a certain module can be found under that module.

Countries: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Custom Fields Group: Get List

Authorizations:
OAuth
path Parameters
userType
required
string
Enum: "student" "staff" "contact"

User type

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Custom Fields Field: Get List

Authorizations:
OAuth
query Parameters
groupId
required
integer <int32>

ID of the Custom Fields Group

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Custom Fields Option: Get List

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Ethnicities: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Faiths: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gender: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Languages: Get List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Marital Statuses: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Nationalities: Get List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Qualifications: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Titles: List

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Authorities: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Authority Type: Get List

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Locations: List

Locations: Get All

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Rooms: List

Rooms: Get All

Authorizations:
OAuth
query Parameters
page[number]
integer

Number of page of recordset

page[size]
integer

Number of records in recordset

search
string

API Query Search

filter[location]
integer

Filter the table results by Location ID

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Room: Get One

Rooms: Get one

Authorizations:
OAuth
path Parameters
id
required
integer
Example: 1

Integer ID of record

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "description": "Standard room assigned to Maths department",
  • "location": {
    },
  • "room_capacity": 50,
  • "room_code": "Maths room",
  • "telephone_extension": "x123",
  • "timetable_code": "12355AAXP4"
}

School Communication Details

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
{
  • "school_name": "St Hubbins Boys Grammar",
  • "school_sms_name": "StHubBoys",
  • "address": "1234 Mockingbird Lane",
  • "country": {
    },
  • "phone": "555-8575",
  • "email": "enquiries@sthubbins.ac.uk",
  • "logo": {
    },
}

Settings

Settings configuration data central to the application.

Academic Years: Get list

List all Academic Years for a school

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Terms: Get list for an Academic Year

Get list of Terms in an Academic Year

Authorizations:
OAuth
path Parameters
academicYearId
required
integer

Integer ID of Academic Year

header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Staff Default Working Hours: List

Get a list of the default working hours that a Staff member will have if no overrides have been set

Authorizations:
OAuth
header Parameters
realm
required
string
Example: S999

Realm ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]