Skip to main content
POST
Create Invite

Authorizations

Authorization
string
header
required

Org API key as Token token=ei_live_...

Headers

Idempotency-Key
string | null

Body

application/json

POST /v1/invites → mint a join link or code for a chosen scope.

Delivery is decided by email + scope (there is no send_email flag): supply email to invite a specific person — this creates an invite row and EquateIt emails them where the platform already does (organization always, via a DB trigger; tutor_student when an email is given). Omit email to get a reusable shareable link/code. Per-scope required/irrelevant fields are validated server-side (422). organization_id, tokens, and timestamps are always server-set; the invite RPCs are never called (they are auth.uid()-gated).

scope
enum<string>
required
Available options:
organization,
classroom,
group,
tutor_student,
parent
role
string | null

organization only: 'tutor' (default) | 'admin' | 'student'.

email
string | null

Required for the organization email path; optional elsewhere.

tutor_id
string | null

Required for scope=tutor_student.

classroom_id
string | null

Required for scope=classroom.

group_id
string | null

Required for scope=group.

student_id
string | null

Required for scope=parent (the child).

subject_id
string | null

Optional, scope=tutor_student only — echoed back + audited.

Response

Successful Response

A minted invite. token carries the invite token (organization/tutor_student) or the code (parent / org-join-code scopes). join_url is null for parent (the code is entered manually). emailed is true only when EquateIt actually sent an email (organization, or tutor_student with an email).

scope
string
required
id
string | null
role
string | null
target_id
string | null
email
string | null
token
string | null
join_url
string | null
expires_at
string | null
subject_id
string | null
emailed
boolean
default:false
created_at
string | null