Erudite API
REST + Webhooks. Standard HTTP semantics, JSON bodies, cursor pagination, predictable error codes.
REST
api.erudite.app/v1
OAuth 2.0 + Bearer
PKCE flow for SSO
Realtime
WebSockets · webhooks
Quickstart
Three lines of code to fetch verified mentors.
curl https://api.erudite.app/v1/mentors?field=Computer+Science \
-H "Authorization: Bearer sk_live_••••••••" \
-H "Accept: application/json"{
"data": [
{
"id": "mentor_2k9xLp",
"name": "Sana Iqbal",
"university": "Carnegie Mellon University",
"field": "Computer Science",
"rating": 5.0,
"reviews_count": 211,
"hourly_rate_usd": 75,
"verified": true,
"available_now": true
}
],
"meta": { "page": 1, "per_page": 20, "total": 187 }
}Authentication
/v1/auth/tokenIssue a session token via institutional SSO callback.
/v1/auth/refreshRefresh an access token. Returns a new pair.
/v1/auth/revokeRevoke an active session token.
Mentors
/v1/mentorsSearch and filter mentors. Supports `field`, `min_rating`, `available_now`.
/v1/mentors/{id}Retrieve a mentor profile with reviews and availability.
/v1/mentors/{id}/followSave a mentor to a student's shortlist.
Sessions
/v1/sessionsList sessions for the authenticated user. Filter by `status`.
/v1/sessionsRequest a session with a mentor.
/v1/sessions/{id}Update status (accept, cancel, complete).
/v1/sessions/{id}/feedbackSubmit a 1-5 rating and written review.
Messaging
/v1/threadsList message threads.
/v1/threads/{id}/messagesPaginate messages within a thread.
/v1/threads/{id}/messagesSend a message into an existing thread.
Verifications
/v1/verificationsSubmit verification documents.
/v1/verifications/{id}Check status of a verification request.
Webhooks
/v1/webhooksRegister a webhook endpoint with event subscriptions.
/v1/webhooksList registered webhooks.
/v1/webhooks/{id}Remove a webhook subscription.
Errors
| Code | Meaning | Action |
|---|---|---|
| 400 | Bad request | Validate request body. |
| 401 | Unauthenticated | Refresh access token. |
| 403 | Forbidden | Caller lacks required scope. |
| 404 | Not found | Resource ID is incorrect or scoped out. |
| 409 | Conflict | Idempotency or state conflict. |
| 429 | Rate limited | Backoff and retry per `Retry-After`. |
| 5xx | Server error | Retry with exponential backoff. |