Skip to main content
GET
/
api
/
user
Get User Profile
curl --request GET \
  --url https://api.example.com/api/user
{
  "barExamTestDate": "<string>",
  "targetScore": 123,
  "currentScore": 123,
  "weeklyHours": 123,
  "onboarded": true,
  "updatedAt": "<string>",
  "progress": {
    "constitutionalLaw": 123,
    "contracts": 123,
    "criminalLaw": 123,
    "totalTimeSpent": 123,
    "testAttempts": 123,
    "lastUpdated": {}
  },
  "performanceInsights": [
    {}
  ],
  "StudyStreak": 123,
  "PracticeQuestions": 123,
  "practiceHistory": [
    {}
  ],
  "bookmarkedQuestions": [
    {}
  ],
  "simulatedExams": [
    {}
  ],
  "essays": [
    {}
  ],
  "specificAreas": [
    {}
  ],
  "challengingAreas": [
    {}
  ],
  "additionalInformation": "<string>",
  "barExamPreparationMaterial": "<string>",
  "payments": [
    {}
  ],
  "questionDataKey": "<string>",
  "examResultFinal": {
    "passed": {}
  },
  "error": "<string>"
}

Overview

Retrieves all profile data for a user identified by their UUID. This endpoint returns the complete user document including onboarding data, progress tracking, performance insights, and exam information.

Query Parameters

uuid
string
required
The unique identifier for the user. Leading/trailing whitespace is automatically trimmed.

Request

cURL
curl -X GET "https://api.example.com/api/user?uuid=user123" \
  -H "Content-Type: application/json"

Response

barExamTestDate
string
The scheduled bar exam test date
targetScore
number
Target score for the bar exam (260-400)
currentScore
number
Current practice score (260-400)
weeklyHours
number
Hours committed to study per week
onboarded
boolean
Whether the user has completed onboarding
updatedAt
string
ISO 8601 timestamp of last update
progress
object
User’s progress across different law sections
performanceInsights
array
Array of performance insight objects tracking user performance over time
StudyStreak
number
Current study streak in days
PracticeQuestions
number
Total number of practice questions completed
practiceHistory
array
Historical record of practice sessions
bookmarkedQuestions
array
Array of question IDs bookmarked by the user
simulatedExams
array
Array of simulated exam attempts and results
essays
array
Array of essay practice submissions
specificAreas
array
Areas the user wants to focus on
challengingAreas
array
Areas the user finds challenging
additionalInformation
string
Additional notes provided during onboarding
barExamPreparationMaterial
string
The preparation materials being used
payments
array
Payment history for the user
questionDataKey
string
Study plan key based on current score: “terrible”, “bad”, “decent”, “good”, or “amazing”
examResultFinal
object
Final exam result information

Response Example

{
  "barExamTestDate": "2026-07-28",
  "targetScore": 350,
  "currentScore": 290,
  "weeklyHours": 20,
  "onboarded": true,
  "updatedAt": "2026-03-03T10:30:00.000Z",
  "progress": {
    "constitutionalLaw": 45,
    "contracts": 38,
    "criminalLaw": 52,
    "totalTimeSpent": 1200,
    "testAttempts": 5,
    "lastUpdated": "2026-03-02T18:45:00.000Z"
  },
  "performanceInsights": [],
  "StudyStreak": 7,
  "PracticeQuestions": 234,
  "practiceHistory": [],
  "bookmarkedQuestions": [],
  "simulatedExams": [],
  "essays": [],
  "specificAreas": ["Constitutional Law", "Criminal Procedure"],
  "challengingAreas": ["Contracts", "Torts"],
  "additionalInformation": "Looking to improve essay writing skills",
  "barExamPreparationMaterial": "Barbri",
  "payments": [],
  "questionDataKey": "decent"
}

Error Responses

error
string
Error message describing what went wrong

400 Bad Request

Returned when UUID is not provided.
{
  "error": "UUID is required"
}

404 Not Found

Returned when the user document does not exist.
{
  "error": "User data not found"
}

500 Internal Server Error

Returned when there’s a server-side error fetching data.
{
  "error": "Failed to fetch data"
}

Build docs developers (and LLMs) love