Skip to main content
This endpoint is optional. Normal AI responses should use POST /v1/memories/retrieve. Use this endpoint when you are building a student dashboard, teacher view, progress screen, or analytics UI.

Endpoint

GET /v1/memories/edtech-profile?external_user_id=student_123

Authentication

Authorization: ApiKey mem_...

Query parameters

FieldTypeRequiredNotes
external_user_idstringYesStudent identifier inside your tenant

Response

If the student has an EdTech profile:
{
  "data": {
    "id": "8d93a6c9-7e63-4c6a-9864-0bca7f4e63fb",
    "proxy_user_id": "3f0f7b54-f6fc-4e3a-9db0-f62f0a6df3e1",
    "tenant_id": "9e7920fa-60cb-4d54-b873-e87a98c2ff26",
    "grade_level": "Class 10",
    "board_or_curriculum": "CBSE",
    "subjects": [
      {
        "subject": "Math",
        "confidence": 4,
        "priority": "high"
      }
    ],
    "strong_topics": [
      {
        "topic": "Algebra",
        "confidence": 0.9
      }
    ],
    "weak_topics": [
      {
        "topic": "Trigonometry identities",
        "severity": "moderate",
        "specific_gap": "gets stuck choosing which identity to apply"
      }
    ],
    "explanation_style": {
      "primary": "worked_examples",
      "needs_step_by_step": true
    },
    "language_profile": {
      "explanation_preference": "Hinglish"
    },
    "exam_name": "CBSE Boards",
    "exam_date": "2026-03-10",
    "forgetting_stages": {
      "Trigonometry identities": {
        "stage": "critical",
        "days_since": 8,
        "review_due": true
      }
    },
    "schema_version": 1,
    "last_extraction_at": "2026-05-17T10:30:00Z",
    "created_at": "2026-05-10T09:00:00Z",
    "updated_at": "2026-05-17T10:30:00Z"
  },
  "request_id": "91dff4bb-7b3c-46a0-8a9f-1deaf81f8469",
  "timestamp": "2026-05-17T10:30:02Z"
}
If no EdTech profile exists yet:
{
  "data": null,
  "request_id": "91dff4bb-7b3c-46a0-8a9f-1deaf81f8469",
  "timestamp": "2026-05-17T10:30:02Z"
}

Important fields

FieldMeaning
grade_levelStudent’s class, grade, year, or level if clearly stated
board_or_curriculumCBSE, ICSE, State Board, JEE, NEET, etc.
subjectsSubject priorities and confidence
strong_topicsTopics the student has demonstrated strength in
weak_topicsTopics the student struggles with, including specific gaps when available
concept_gapsMisconceptions and corrected concepts
explanation_styleHow the student learns best
language_profileLanguage or Hinglish/code-switching preference
exam_nameSpecific exam target
exam_dateExplicitly stated exam date
forgetting_stagesReview urgency by topic

SDK usage

Python

profile = mem.get_edtech_profile("student_123")

if profile and profile.has_exam_context:
    print(profile.exam_name, profile.exam_date)

if profile:
    print(profile.weak_topics[:3])

TypeScript

const profile = await mem.getEdTechProfile("student_123");

if (profile?.hasExamContext) {
  console.log(profile.examName, profile.examDate);
}

console.log(profile?.weakTopics.slice(0, 3));