Events
Type "Bearer" followed by a space and a token.
OK
Bad Request
Not Found
Internal Server Error
GET /api/v1/Events HTTP/1.1
Host: publicapi-eu.schoolsbuddy.net
Authorization: YOUR_API_KEY
Accept: */*
{
"isSuccess": true,
"errors": [
"text"
],
"messageTranslationParameters": null,
"data": [
{
"id": 1,
"isSeries": true,
"parentEventId": 1,
"allowJoiningPartWayThrough": true,
"eventName": "text",
"opponent": "text",
"description": "text",
"vitalInformation": "text",
"groupId": 1,
"groupName": "text",
"yearId": 1,
"yearName": "text",
"ccaSignUpId": 1,
"eventTypeId": 1,
"eventType": "text",
"eventStartTime": "2026-01-01T00:00:00.000Z",
"eventEndTime": "2026-01-01T00:00:00.000Z",
"leadStaffMember": "text",
"cost": 1,
"percentageToPayDeposit": 1,
"alwaysChargeFullPrice": true,
"includesTax": true,
"paymentDueDate": "2026-01-01",
"location": "text",
"meetingLocation": "text",
"meetingTime": "2026-01-01T00:00:00.000Z",
"pickupLocation": "text",
"pickupTime": "2026-01-01T00:00:00.000Z",
"numberOfPlaces": 1,
"consentRequired": true,
"consentDueDate": "2026-01-01T00:00:00.000Z",
"consentMessage": "text",
"termsAndConditions": "text",
"orgId": 1,
"isBlocked": true,
"isCancelled": true,
"isArchived": true,
"updatedAt": "2026-01-01T00:00:00.000Z",
"timeZone": "text",
"attendees": [
{
"id": 1,
"calendarEventId": 1,
"registerStatus": "Unset",
"firstName": "text",
"lastName": "text",
"registerUpdatedAt": "2026-01-01T00:00:00.000Z",
"registerUpdatedBy": 1,
"registerUpdatedByName": "text",
"attendanceNote": "text"
}
]
}
],
"pageNumber": 1,
"pageSize": 1,
"firstPage": "https://example.com",
"lastPage": "https://example.com",
"totalPages": 1,
"totalRecords": 1,
"nextPage": "https://example.com",
"previousPage": "https://example.com",
"baseUri": "https://example.com",
"searchParameters": [
{
"key": "text",
"value": "text"
}
]
}Type "Bearer" followed by a space and a token.
Event Id
Organisation Id (optional query parameter)
OK
Bad Request
Not Found
Internal Server Error
GET /api/v1/Events/{id} HTTP/1.1
Host: publicapi-eu.schoolsbuddy.net
Authorization: YOUR_API_KEY
Accept: */*
{
"id": 1,
"isSeries": true,
"parentEventId": 1,
"allowJoiningPartWayThrough": true,
"eventName": "text",
"opponent": "text",
"description": "text",
"vitalInformation": "text",
"groupId": 1,
"groupName": "text",
"yearId": 1,
"yearName": "text",
"ccaSignUpId": 1,
"eventTypeId": 1,
"eventType": "text",
"eventStartTime": "2026-01-01T00:00:00.000Z",
"eventEndTime": "2026-01-01T00:00:00.000Z",
"leadStaffMember": "text",
"cost": 1,
"percentageToPayDeposit": 1,
"alwaysChargeFullPrice": true,
"includesTax": true,
"paymentDueDate": "2026-01-01",
"location": "text",
"meetingLocation": "text",
"meetingTime": "2026-01-01T00:00:00.000Z",
"pickupLocation": "text",
"pickupTime": "2026-01-01T00:00:00.000Z",
"numberOfPlaces": 1,
"consentRequired": true,
"consentDueDate": "2026-01-01T00:00:00.000Z",
"consentMessage": "text",
"termsAndConditions": "text",
"orgId": 1,
"isBlocked": true,
"isCancelled": true,
"isArchived": true,
"updatedAt": "2026-01-01T00:00:00.000Z",
"timeZone": "text",
"attendees": [
{
"id": 1,
"calendarEventId": 1,
"registerStatus": "Unset",
"firstName": "text",
"lastName": "text",
"registerUpdatedAt": "2026-01-01T00:00:00.000Z",
"registerUpdatedBy": 1,
"registerUpdatedByName": "text",
"attendanceNote": "text"
}
]
}Type "Bearer" followed by a space and a token.
Event Id
Organisation Id (optional query parameter)
OK
Bad Request
Not Found
Internal Server Error
GET /api/v1/Events/{id}/attendance HTTP/1.1
Host: publicapi-eu.schoolsbuddy.net
Authorization: YOUR_API_KEY
Accept: */*
[
{
"id": 1,
"calendarEventId": 1,
"registerStatus": "Unset",
"firstName": "text",
"lastName": "text",
"registerUpdatedAt": "2026-01-01T00:00:00.000Z",
"registerUpdatedBy": 1,
"registerUpdatedByName": "text",
"attendanceNote": "text"
}
]Type "Bearer" followed by a space and a token.
Id
Organisation Id (optional query parameter)
OK
Bad Request
Not Found
Internal Server Error
PUT /api/v1/Events/{id}/attendance HTTP/1.1
Host: publicapi-eu.schoolsbuddy.net
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 59
[
{
"id": 1,
"registerStatus": "Unset",
"attendanceNote": "text"
}
][
{
"id": 1,
"calendarEventId": 1,
"registerStatus": "Unset",
"firstName": "text",
"lastName": "text",
"registerUpdatedAt": "2026-01-01T00:00:00.000Z",
"registerUpdatedBy": 1,
"registerUpdatedByName": "text",
"attendanceNote": "text"
}
]Type "Bearer" followed by a space and a token.
Organisation Id (optional query parameter)
Bad Request
Structured body for 4xx / 5xx responses on the new Public API surface: a machine-readable SchoolsBuddy.PublicAPI.Models.ErrorResponse.Code plus a human-readable SchoolsBuddy.PublicAPI.Models.ErrorResponse.Error. See cross-cutting-design.md §5.3. This is additive — existing endpoints continue returning their legacy plain-string / ModelState shapes until migrated by their per-controller ticket.
Gets or sets the machine-readable error code (e.g.
VALIDATION_FAILED, RESOURCE_NOT_FOUND,
INTERNAL_ERROR) per cross-cutting-design.md §5.1.
Gets or sets the human-readable error message.
Not Found
Internal Server Error
PUT /api/v1/Events/studentAttendance HTTP/1.1
Host: publicapi-eu.schoolsbuddy.net
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 170
{
"id": 1,
"studentId": "text",
"startDateTime": "2026-01-01T00:00:00.000Z",
"endDateTime": "2026-01-01T00:00:00.000Z",
"attendanceStatus": "ToBeConfirmed",
"attendanceNote": "text"
}{
"code": "text",
"error": "text"
}Last updated