Each key has a list of permissions. Each route requires one permission, shown next to the address in the Reference. A key without the permission gets 403 with code insufficient_scope and the list of what is missing in scopes — before EduPay checks whether the record exists.
Rules
- Read and write are separate.
students:writedoes not includestudents:read: tick both if the integration does both. - Related data requires the permission of its own area. In
GET /enrollments?include=student,installments, the student requiresstudents:readand the installments requirebilling:read. This way, an enrollments-only key does not see the CPF (Brazilian individual taxpayer ID) or the address. *unlocks everything, including whatever is added later. Use it only in the school's own, well-protected integration.GET /meanswers any key.
Ready-made bundles
The create key screen has bundles that tick the right permissions for you:
- Read only (reports, BI, ERP): reads the catalog, students, enrollments and billing.
- Read and write (ERP, CRM, store): everything in the read bundle, plus creating students, creating and cancelling enrollments, issuing second copies and the student portal link.
- Moodle (full, SSO only, block only): the Moodle plugin permissions.
Webhooks through the API (webhooks:manage) are left out of the bundles: tick it when the system will register its own webhook endpoint.