What changed in each API version and how EduPay handles changes.
Change policy
- Nothing breaks within v1. What can be added without notice: new fields in responses, new routes, new events, new values in status lists and new error codes. Write your integration to ignore what it does not recognize.
- Breaking changes go to a new version (
/api/v2), announced on this page. v1 keeps working during the transition. - Error
codevalues do not change meaning. Thedetailtext may change. - The Moodle plugin routes (
/api/moodle/*) remain frozen: the plugin installed at schools keeps working without an update.
1.0.0-beta — October 2026
First public version.
- Connection: per-school keys, with permissions, expiration, rotation with a 24-hour overlap, and revocation. The school turns on the API in Integrations → API Tokens.
- Reads: catalog (offerings, tracks, cohorts, payment plans, sales pages), students and financial summary, enrollments and contracts (with PDF), installments with payment details.
- Writes: create and update students, create and cancel enrollments, second copy of an installment and student portal sign-in link. Safe retries with
Idempotency-Key. - Webhooks: 13 events for students, enrollments, contracts and installments, signed with HMAC-SHA256, with retries for 24 hours.
- Conventions: problem+json errors with a stable
code, money in cents, dates in UTC, cursor-based lists, messages in Portuguese, English and Spanish. - OpenAPI 3.1 specification at
https://edupay.estudiosite.com/api/v1/openapi.json.