Authorization header. See Authentication.
List students
Returns a paginated list of active students in your academy.Query parameters
number
default:"50"
Number of students to return. Minimum
1, maximum 100.number
default:"0"
Number of students to skip before returning results. Use with
limit for pagination.Response fields
object
required
Example request
Example response
Add a student
Adds a new student to your academy and optionally enrolls them in one or more courses in a single request.Body parameters
string
required
Email address of the student. Must be a valid email format.
string
Display name for the student. Maximum 200 characters. Optional.
string[]
Array of course UUIDs to enroll the student in. Maximum 50 course IDs per request. Each course must be published. Optional. Creates a permanent enrollment per course.
string[]
Array of list UUIDs to add the student to. Maximum 50 per request. Each list must exist in this academy, or the request returns
400 invalid_lists. Offer-managed lists return 400 list_managed_by_offer; grant the offer instead. All ids are validated before the student account is created, so a rejected request creates nothing. Use list_ids for cohort or tier access you may want to revoke later, and course_ids for an individual course assignment. Optional.boolean
default:"true"
Whether to send the magic-link welcome email to the new student. Set to
false for silent imports. Optional. If your app signs students in with sign-in links, set it to false: minting a sign-in link invalidates the link in the welcome email, so the email would arrive with a dead button.Response fields
Returns the newly created student with a201 status code. The response contains id, email, name, a membershipStatus field (created or reactivated), an accountCreated boolean (true when this request created a brand-new Fayne account, false when the email already had one, for example from another academy), and an enrollments array whose items have id, course_id, and course_title. This is a smaller object than the list endpoint’s student: it does not include avatar_url, joined_at, or courses_enrolled. Adding a student who is already an active member of the academy returns 409 already_exists. The error body does not include the existing student’s id, so to backfill ids for people who are already members, page through GET /students and match on email.
Example request
Get a student
Returns the full profile and enrollment detail for a single student, including per-course progress.Path parameters
string
required
UUID of the student. Must be a valid UUID or the request returns a
400.Response fields
object
required
Example request
Example response
Mint a sign-in link
Mints a one-time authenticated sign-in URL for a student, so your own app can hand a user straight into the academy without a password or email code. Because your API key created the student, it already vouches for who they are, so redeeming the link signs the student in directly. See the Partner sign-in guide for the full integration recipe.Path parameters
string
required
UUID of the student to sign in. Must be an active member of this academy.
Body parameters
string
default:"/courses"
Relative in-academy path to land on after sign-in, for example
/courses/a1b2c3d4-e5f6-7890-abcd-ef1234567890. Absolute URLs are rejected with 400 invalid_next. Optional.Response fields
object
required
Example request
Example response
201 on success. A consumed or expired link sends the student to the academy’s sign-in page, where an email code gets them in and they then land on next. If their browser is already signed in to the academy, they land on /courses instead of next.
The shared
401, 402, and 500 errors from Authentication also apply.
Remove a student
Removes a student from your academy. This revokes all of their course enrollments and the courses you assigned to them, removes them from every manual list (so they also lose any access that came through a list), and deletes all of their lesson progress. It cannot be undone. Purchase records are kept, and nothing is refunded. The student’s Fayne account itself is not deleted; they are only removed from this academy.Path parameters
string
required
UUID of the student to remove.
Response fields
object
required

