Skip to main content
POST
Create Student

Authorizations

Authorization
string
header
required

Org API key as Token token=ei_live_...

Headers

Idempotency-Key
string | null

Body

application/json

POST /v1/students → mint a student account with a known name + fields, place them, and optionally create + link a parent. Requires scope accounts:write.

email is OPTIONAL: omit it to create the account now (against an internal placeholder address) and add a real email + invite later. send_invite (default true) controls whether a set-password email is sent when a real email is present — a no-email account is never emailed regardless.

full_name
string
required
email
string | null
send_invite
boolean
default:true
phone_number
string | null
phone_country_code
string | null
math_level_ids
string[]
addresses
AddressIn · object[]
placement
PlacementIn · object | null

Where to place a created student. Targets are org-scoped (cross-org → 404).

parent
ParentIn · object | null

A parent to create + link to the student being created (nested in StudentCreate). email is optional — omit it to mint a no-email (placeholder) parent account.

Response

Successful Response

Result of POST /v1/students|tutors|parents — one entry per account processed (a student with a nested parent returns two).

results
ProvisionedAccount · object[]
required