Everything you see in the app, you can call.
API keys with the permissions of the context, signed webhooks for every academy event, documentation with real examples and an MCP server that hands courses, register and calendar to AI assistants.
- API keys per academy or per person, shown only once
- Webhooks with chosen events, HMAC signature, retries and logs
- Same API as the app: courses, attendance, students, calendar
- MCP server for Claude, ChatGPT and Cursor
••••••••••••a9F2••••••••••••aZq••••••••••••7kQ1••••••••••••mX4cald_sk_9Kp2mQ4xR7tW1nB8vC3yH6jL0sD5fG2aZqOne API, the same as the app
The student register, the CRM, the back office and AI assistants talk to Aladia the way the interface does: no shortcuts, no extra data.
Webhooks with chosen events
One endpoint, the events you need: course.published, course.completed, course.installment.paid, organization.member.added. Every delivery is signed; if the endpoint answers badly we retry five times with growing delays and you keep the log.
Readable payload, verifiable signature
Every event carries the id, the resource and the data: course title, cycle, subjects, who published. The HMAC signature header lets you discard anything that does not come from Aladia.
Documentation with real examples
docs.aladia.io describes every endpoint with parameters, a request sample in cURL, Node and Python and a real response: GET /v2/courses/:courseId/attendance-registry returns lectures and attendance rows with status, source and minutes in the room.
⌘Kapp.aladia.ioAcademy MCP server
Enable the server, pick the scopes (courses, students and attendance, calendar, chat) and connect the clients: Claude, ChatGPT, Cursor. Each client uses the API key of whoever connects it and its actions land in the Activity log.
courses:readstudents:readcalendar:writechat:writepayments:read"mcpServers": {
"aladia": {
"url": "https://mcp.aladia.io/accademia-leonardo",
"headers": { "apikey": "ald_sk_••••••••aZq" }
}
} The API key decides what the assistant can do; every action lands in the Activity log.An external assistant working in the academy
"List the at-risk students of the Liceo Scientifico and create a catch-up lesson on Friday at 3 pm": the assistant calls list_students_at_risk, then create_lecture, and shows you who it invited. With the permissions of whoever asks, not one more.
lec_66fa1d…Three students of Liceo Scientifico · 1° anno are below the 75% attendance threshold: Andrea Ricci (68%), Chiara Colombo (71%) and Alice Barbieri (74%).
I created the lesson “Recupero Matematica” on Friday 2 October at 15:00 with Davide Ricci and invited the three students. You will find it in the academy calendar.
How you work
- 1
Create the key
Settings › API keys: name, expiration, key copied only once. It acts with the permissions of the context (academy or person).
- 2
Subscribe to events
Settings › Webhooks: URL, events, instant test. The secret signs every delivery; the log shows outcome and attempts.
- 3
Connect the assistants
Settings › MCP: enable the server, pick the scopes, paste the configuration into Claude, ChatGPT or Cursor.
What’s inside
Frequently asked questions
Related modules
Build your Academy. Find your Academy.
Join 194,000+ learners and hundreds of teachers and organizations already on Aladia.
