v1 Reference

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.

Request · cURL
curl https://api.erudite.app/v1/mentors?field=Computer+Science \
  -H "Authorization: Bearer sk_live_••••••••" \
  -H "Accept: application/json"
Response · 200
{
  "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

POST
/v1/auth/token

Issue a session token via institutional SSO callback.

POST
/v1/auth/refresh

Refresh an access token. Returns a new pair.

POST
/v1/auth/revoke

Revoke an active session token.

Mentors

GET
/v1/mentors

Search and filter mentors. Supports `field`, `min_rating`, `available_now`.

GET
/v1/mentors/{id}

Retrieve a mentor profile with reviews and availability.

POST
/v1/mentors/{id}/follow

Save a mentor to a student's shortlist.

Sessions

GET
/v1/sessions

List sessions for the authenticated user. Filter by `status`.

POST
/v1/sessions

Request a session with a mentor.

PATCH
/v1/sessions/{id}

Update status (accept, cancel, complete).

POST
/v1/sessions/{id}/feedback

Submit a 1-5 rating and written review.

Messaging

GET
/v1/threads

List message threads.

GET
/v1/threads/{id}/messages

Paginate messages within a thread.

POST
/v1/threads/{id}/messages

Send a message into an existing thread.

Verifications

POST
/v1/verifications

Submit verification documents.

GET
/v1/verifications/{id}

Check status of a verification request.

Webhooks

POST
/v1/webhooks

Register a webhook endpoint with event subscriptions.

GET
/v1/webhooks

List registered webhooks.

DELETE
/v1/webhooks/{id}

Remove a webhook subscription.

Errors

CodeMeaningAction
400Bad requestValidate request body.
401UnauthenticatedRefresh access token.
403ForbiddenCaller lacks required scope.
404Not foundResource ID is incorrect or scoped out.
409ConflictIdempotency or state conflict.
429Rate limitedBackoff and retry per `Retry-After`.
5xxServer errorRetry with exponential backoff.

SDKs & guarantees

Official SDKs: JavaScript, Python, Ruby, Go
99.95% uptime SLA on paid tiers
Signed webhooks (HMAC SHA-256)
Idempotency keys on every POST