> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memsync.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get User Profile

> Retrieve the user's complete profile including auto-generated bio, category profiles, and insights

Retrieves the user's comprehensive profile, which includes an auto-generated bio, category-specific profiles, derived insights, and statistics about their stored memories.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://api.memchat.io/profile' \
    -H 'X-API-Key: YOUR_API_KEY'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.memchat.io/profile"
  headers = {
      "X-API-Key": "YOUR_API_KEY"
  }

  response = requests.get(url, headers=headers)
  profile = response.json()
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.memchat.io/profile', {
    method: 'GET',
    headers: {
      'X-API-Key': 'YOUR_API_KEY',
    },
  });

  const profile = await response.json();
  ```
</RequestExample>

## Query Parameters

<ParamField query="include" type="string">
  Comma-separated list of sections to include. Options: `bio`, `categories`, `insights`, `stats`, `traits`
  Default: `bio,categories,stats`
</ParamField>

<ParamField query="category" type="string">
  Filter to specific category profile. One of: `identity`, `career`, `interests`, `relationships`, `health`, `finance`, `learning`, `travel`, `productivity`, `private`
</ParamField>

<ParamField query="refresh" type="boolean" default="false">
  Whether to regenerate the profile from latest memories (may take longer)
</ParamField>

## Response

<ResponseField name="user_id" type="string">
  Unique identifier of the user
</ResponseField>

<ResponseField name="bio" type="object">
  Auto-generated biographical summary

  <Expandable title="Bio Properties">
    <ResponseField name="summary" type="string">
      Concise biographical summary (150-200 words)
    </ResponseField>

    <ResponseField name="generated_at" type="string">
      ISO 8601 timestamp when bio was generated
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Confidence score for bio accuracy (0.0-1.0)
    </ResponseField>

    <ResponseField name="word_count" type="number">
      Number of words in the bio
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="categories" type="object">
  Category-specific profile information

  <Expandable title="Category Profiles">
    <ResponseField name="identity" type="object">
      Identity and personal information profile
    </ResponseField>

    <ResponseField name="career" type="object">
      Professional and career-related profile
    </ResponseField>

    <ResponseField name="interests" type="object">
      Hobbies and interests profile
    </ResponseField>

    <ResponseField name="relationships" type="object">
      Social connections and relationships profile
    </ResponseField>

    <ResponseField name="health" type="object">
      Health and wellness profile
    </ResponseField>

    <ResponseField name="finance" type="object">
      Financial information profile
    </ResponseField>

    <ResponseField name="learning" type="object">
      Education and learning profile
    </ResponseField>

    <ResponseField name="travel" type="object">
      Travel experiences and preferences profile
    </ResponseField>

    <ResponseField name="productivity" type="object">
      Work habits and productivity profile
    </ResponseField>

    <ResponseField name="private" type="object">
      Private memories profile summary
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="insights" type="array">
  AI-derived insights about the user

  <Expandable title="Insight Properties">
    <ResponseField name="insight_id" type="string">
      Unique identifier for the insight
    </ResponseField>

    <ResponseField name="title" type="string">
      Brief title of the insight
    </ResponseField>

    <ResponseField name="description" type="string">
      Detailed description of the insight
    </ResponseField>

    <ResponseField name="category" type="string">
      Primary category the insight relates to
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Confidence score for the insight (0.0-1.0)
    </ResponseField>

    <ResponseField name="generated_at" type="string">
      When the insight was generated
    </ResponseField>

    <ResponseField name="memory_count" type="number">
      Number of memories supporting this insight
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="traits" type="array">
  Personality traits and characteristics

  <Expandable title="Trait Properties">
    <ResponseField name="trait" type="string">
      Name of the personality trait
    </ResponseField>

    <ResponseField name="strength" type="number">
      Strength of the trait (0.0-1.0)
    </ResponseField>

    <ResponseField name="evidence_count" type="number">
      Number of memories supporting this trait
    </ResponseField>

    <ResponseField name="category" type="string">
      Primary category where trait is observed
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="stats" type="object">
  Statistics about the user's memories

  <Expandable title="Statistics">
    <ResponseField name="total_memories" type="number">
      Total number of stored memories
    </ResponseField>

    <ResponseField name="by_category" type="object">
      Memory count by category
    </ResponseField>

    <ResponseField name="by_type" type="object">
      Memory count by type (semantic/episodic)
    </ResponseField>

    <ResponseField name="date_range" type="object">
      First and last memory dates
    </ResponseField>

    <ResponseField name="avg_importance" type="number">
      Average importance score across memories
    </ResponseField>

    <ResponseField name="top_participants" type="array">
      Most frequently mentioned people
    </ResponseField>

    <ResponseField name="top_locations" type="array">
      Most frequently mentioned locations
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="privacy_settings" type="object">
  User's privacy configuration for profile

  <Expandable title="Privacy Settings">
    <ResponseField name="bio_public" type="boolean">
      Whether bio can be shared publicly
    </ResponseField>

    <ResponseField name="categories_public" type="array">
      Which category profiles are public
    </ResponseField>

    <ResponseField name="insights_enabled" type="boolean">
      Whether AI insights are enabled
    </ResponseField>

    <ResponseField name="trait_analysis_enabled" type="boolean">
      Whether personality trait analysis is enabled
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="last_updated" type="string">
  ISO 8601 timestamp when profile was last updated
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "user_id": "user_123abc",
    "bio": {
      "summary": "A passionate software engineer and AI enthusiast based in San Francisco. Currently working at a tech startup focused on machine learning applications in healthcare. Enjoys hiking, reading about emerging technologies, and spending time with family. Has a strong interest in sustainable technology and frequently travels for both work and leisure. Values continuous learning and meaningful relationships.",
      "generated_at": "2024-01-15T16:30:00Z",
      "confidence": 0.92,
      "word_count": 67
    },
    "categories": {
      "career": {
        "title": "Software Engineer & AI Enthusiast",
        "summary": "Works at a tech startup focused on ML applications in healthcare",
        "key_skills": ["Python", "Machine Learning", "Healthcare Technology"],
        "memory_count": 45,
        "last_updated": "2024-01-15T14:20:00Z"
      },
      "interests": {
        "primary_interests": ["Technology", "Hiking", "Reading", "Sustainability"],
        "emerging_interests": ["Medical Imaging", "Green Technology"],
        "memory_count": 32,
        "last_updated": "2024-01-15T13:45:00Z"
      },
      "relationships": {
        "close_connections": ["Sarah Johnson", "Dr. Martinez", "Alex Chen"],
        "professional_network": ["Team members", "Healthcare professionals"],
        "memory_count": 28,
        "last_updated": "2024-01-15T15:10:00Z"
      }
    },
    "insights": [
      {
        "insight_id": "insight_456def",
        "title": "Strong Learning Orientation",
        "description": "Shows consistent pattern of seeking new knowledge and skills, particularly in AI and healthcare domains",
        "category": "learning",
        "confidence": 0.88,
        "generated_at": "2024-01-15T16:00:00Z",
        "memory_count": 12
      }
    ],
    "traits": [
      {
        "trait": "Curiosity",
        "strength": 0.91,
        "evidence_count": 15,
        "category": "learning"
      },
      {
        "trait": "Collaboration",
        "strength": 0.85,
        "evidence_count": 23,
        "category": "relationships"
      }
    ],
    "stats": {
      "total_memories": 142,
      "by_category": {
        "career": 45,
        "interests": 32,
        "relationships": 28,
        "learning": 25,
        "travel": 12
      },
      "by_type": {
        "semantic": 89,
        "episodic": 53
      },
      "date_range": {
        "first_memory": "2023-11-01T09:00:00Z",
        "last_memory": "2024-01-15T16:30:00Z"
      },
      "avg_importance": 0.72,
      "top_participants": ["Sarah Johnson", "Dr. Martinez", "Alex Chen"],
      "top_locations": ["San Francisco", "Stanford Medical Center", "Office"]
    },
    "privacy_settings": {
      "bio_public": false,
      "categories_public": ["interests", "career"],
      "insights_enabled": true,
      "trait_analysis_enabled": true
    },
    "last_updated": "2024-01-15T16:30:00Z"
  }
  ```
</ResponseExample>

## Error Responses

<ResponseField name="401" type="object">
  Unauthorized access

  ```json theme={null}
  {
    "error": "Invalid or expired token",
    "code": "UNAUTHORIZED"
  }
  ```
</ResponseField>

<ResponseField name="404" type="object">
  Profile not found (new user)

  ```json theme={null}
  {
    "error": "Profile not yet generated",
    "code": "PROFILE_NOT_FOUND",
    "suggestion": "Store some memories first to generate a profile"
  }
  ```
</ResponseField>

<ResponseField name="429" type="object">
  Rate limit exceeded for profile generation

  ```json theme={null}
  {
    "error": "Too many profile requests",
    "code": "RATE_LIMIT_EXCEEDED",
    "retry_after": 60
  }
  ```
</ResponseField>

## Profile Generation

Profiles are automatically generated when:

* User has stored at least 5 memories
* At least 24 hours have passed since last generation
* User explicitly requests refresh with `refresh=true`

Generation typically takes 5-15 seconds depending on memory count.

## Privacy Controls

Use the [Update Profile Privacy](/api-reference/endpoint/update-profile-privacy) endpoint to modify which parts of the profile are public or can be shared with integrations.
