canonical: https://jentic.com/apis/eduzz.com/eduzz

# Eduzz Public API

Eduzz is a Brazilian creator-economy platform whose Public API spans the Alpaclass online-school product, Blinket event ticketing and attendance, and the Sun checkout flow. The v2 API exposes 26 endpoints for managing producer schools, students, deliveries, certificates, events, attendance tags, attendance lists, and shopping carts. Authentication is OAuth 2.0 with authorization-code flow, and scopes are split per product (alpaclass_student_read, blinket_read, etc.) so partners can request only the access they need.

## For AI agents

Manage Alpaclass students and certificates, Blinket events and attendance, and Sun checkout carts inside an Eduzz producer account.

## Scope

Does not handle payment authorisation, refunds, video streaming, or producer onboarding - use for managing Alpaclass students and certificates, Blinket events and attendance, and Sun checkout carts only.

## Capabilities

- List producer schools and the students enrolled in each Alpaclass school
- Create new students and update their pending-document status inside an Alpaclass team
- Issue or replace Alpaclass certificates with externally-generated PDF certificates
- List events, attendance tags, and attendance lists for Blinket-powered events
- Assign or remove attendance tags from event participants and check participants in
- Add participants to a Blinket attendance list manually and resend their ticket emails
- Create a Sun shopping cart so a buyer can complete a checkout

## Use cases

### Sync Alpaclass students with an external CRM

An Eduzz producer keeps marketing leads in an external CRM and needs Alpaclass enrolment to stay in sync. A scheduled job calls `/alpaclass/v1/producer/teams` to enumerate schools, then `/alpaclass/v1/producer/teams/{teamId}/students` to compare and provision missing students via POST. Pending-document state is then kept up to date so admin teams can chase missing paperwork in one place.

Example prompt: Iterate teams from GET `/alpaclass/v1/producer/teams`, then call POST `/alpaclass/v1/producer/teams/{teamId}/students` for each missing CRM contact.

### Event attendance and tagging for Blinket producers

An event organiser needs to manage tags such as VIP, speaker, or sponsor across a participant list, and to record check-ins as people arrive. The Blinket endpoints support listing events, creating attendance tags, assigning and removing tags from participants, and updating check-in state. The flow can run from a tablet at the door or a back-office console.

Example prompt: POST `/blinket/v2/attendance-tags/{id}/attendance-list` to assign a VIP tag to a set of participants, then PUT `/blinket/v1/attendance-list/check-in` to mark them as checked in.

### External certificate replacement workflow

When a producer issues certificates from an external authority, the Eduzz default certificate must be replaced with the external PDF so that students download the correct file from Alpaclass. The replace-with-external-certificate endpoint accepts the PDF and binds it to the student's enrolment, keeping the student-facing experience consistent.

Example prompt: Call POST `/alpaclass/v1/producer/teams/{teamSlug}/enrollments/{enrollmentId}/certificate` with the externally generated PDF and confirm the response.

### Sun checkout cart creation for digital products

A producer running a campaign sends buyers to a Sun checkout cart pre-populated with the right product and offer code. The agent calls POST `/sun/v1/cart` with the cart payload, then redirects the buyer to the returned checkout URL. This works well for chat-driven sales agents that hand the buyer off to checkout once they decide to purchase.

Example prompt: POST `/sun/v1/cart` with the product ID, quantity, and discount code, then return the checkout URL from the response to the buyer.

### Eduzz operations agent through Jentic

A producer-side ops agent triages student support, certificate replacements, and event check-ins in a single flow. Through Jentic, the agent searches by intent, loads the right Eduzz operation, and executes it with the OAuth tokens Jentic manages - so a single conversation can cross Alpaclass, Blinket, and Sun without juggling auth scopes by hand.

Example prompt: Search Jentic for 'create a student in Alpaclass', load the schema, and execute POST `/alpaclass/v1/producer/teams/{teamId}/students` with the data captured by the agent.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/accounts/v1/me` | Get current Eduzz user |
| GET | `/alpaclass/v1/producer/teams` | List producer schools |
| POST | `/alpaclass/v1/producer/teams/{teamId}/students` | Create an Alpaclass student |
| POST | `/alpaclass/v1/producer/teams/{teamSlug}/enrollments/{enrollmentId}/certificate` | Replace a student's certificate |
| GET | `/blinket/v1/events` | List Blinket events |
| POST | `/blinket/v2/attendance-tags/{id}/attendance-list` | Assign tag to participants |
| PUT | `/blinket/v1/attendance-list/check-in` | Modify check-in status |
| POST | `/sun/v1/cart` | Create a Sun checkout cart |

## Key resources

- **Account** — Get the currently authenticated Eduzz user data
- **Alpaclass Teams** — List producer schools (teams) for Alpaclass
- **Alpaclass Students** — List, create, read, and manage students inside an Alpaclass team
- **Alpaclass Deliveries** — List deliveries and their courses for a school
- **Alpaclass Certificates** — Replace student certificates with externally generated PDFs
- **Blinket Events** — List Blinket events and their details
- **Blinket Attendance Tags** — Create, update, delete, and assign attendance tags
- **Blinket Attendance List** — Add, update, check in, and message event participants
- **Sun Checkout** — Create shopping carts for the Sun checkout flow

## Why Jentic

- **Setup:** Wiring Eduzz by hand means implementing its OAuth 2.0 flow, managing refresh tokens, and routing calls across the Alpaclass, Blinket, and Sun product paths yourself. Through Jentic you install once, import the Eduzz Public API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Eduzz puts the team id in the URL path (`/alpaclass/v1/producer/teams/{teamId}/students`), so a rule can pin your agent to one team for its Alpaclass enrolments. You choose the operations it may call, so certificate issuance or Blinket check-in are not included unless you add them.
- **Credential handling:** Your Eduzz OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'add a student to an Alpaclass team' or 'check in a Blinket participant', and Jentic returns the matching Eduzz operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Teachable API** — Teachable is a global online-course platform without Brazil-specific checkout or event ticketing.
- **Stripe API** — Stripe handles card-present and recurring payments for producers who supplement Eduzz's Sun checkout.
- **Brevo API** — Brevo sends welcome and reminder emails to Alpaclass students or Blinket attendees.

## FAQ

### What authentication does the Eduzz Public API use?

Eduzz uses OAuth 2.0 with the authorization-code flow. The authorize URL is https://api.eduzz.com/oauth/authorize and the token URL is https://api.eduzz.com/oauth/token. Scopes such as alpaclass_student_read, alpaclass_student_write, blinket_read, and blinket_write let you request only the access you need. Jentic performs the OAuth handshake, stores the credentials encrypted, and injects scoped tokens at execution time.

### Can I create an Alpaclass student through the API?

Yes. POST `/alpaclass/v1/producer/teams/{teamId}/students` creates a new student inside the specified Alpaclass team. The endpoint requires the alpaclass_student_write scope.

### How do I check participants in to a Blinket event?

Use PUT `/blinket/v1/attendance-list/check-in` to modify check-in status for a participant. POST `/blinket/v1/attendance-list/add-manually` adds a participant who is not yet on the list, and POST `/blinket/v1/attendance-list/resend-ticket-email` resends their ticket if needed.

### Can I replace an Alpaclass certificate with an externally issued PDF?

Yes. POST `/alpaclass/v1/producer/teams/{teamSlug}/enrollments/{enrollmentId}/certificate` replaces the default Eduzz certificate with the external PDF you provide for that enrolment.

### What are the rate limits for the Eduzz Public API?

Rate limits are not declared in the OpenAPI spec. Eduzz publishes guidance per integration on developers.eduzz.com - design jobs with retries and exponential backoff and avoid polling list endpoints in tight loops.

### How do I create a Sun checkout cart through Jentic?

Run pip install jentic, search Jentic for 'create an Eduzz Sun checkout cart', load the POST `/sun/v1/cart` schema, and execute the call with your product ID, quantity, and any offer code. Jentic handles the OAuth exchange and returns the checkout URL.

### Can I limit what my agent is allowed to do with the Eduzz Public API?

Yes. Because you run Jentic One yourself, your own rules decide which Eduzz operations and OAuth credentials the agent may use. Eduzz puts the team id in the URL path, such as `/alpaclass/v1/producer/teams/{teamId}/students`, so you can pin the agent to a single Alpaclass team for its enrolments. You choose the operations it may call, so sensitive actions like certificate replacement or Blinket check-in stay out of reach unless you add them.
