> ## 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 Bio

> Retrieve the user's auto-generated biographical summary

Retrieves the user's auto-generated biographical summary, which is created from their stored memories and provides a concise overview of their background, interests, and key characteristics.

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

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

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

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

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

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

## Query Parameters

<ParamField query="format" type="string" default="full">
  Bio format to retrieve. Options: `full`, `short`, `bullets`, `professional`
</ParamField>

<ParamField query="refresh" type="boolean" default="false">
  Whether to regenerate the bio from latest memories
</ParamField>

<ParamField query="style" type="string" default="narrative">
  Writing style for the bio. Options: `narrative`, `factual`, `casual`, `formal`
</ParamField>

<ParamField query="exclude_categories" type="string">
  Comma-separated list of categories to exclude from bio generation
</ParamField>

## Response

<ResponseField name="bio" type="string">
  The auto-generated biographical text
</ResponseField>

<ResponseField name="format" type="string">
  Format of the returned bio
</ResponseField>

<ResponseField name="style" type="string">
  Writing style used for the bio
</ResponseField>

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

<ResponseField name="character_count" type="number">
  Number of characters in the bio
</ResponseField>

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

<ResponseField name="source_memories" type="number">
  Number of memories used to generate the bio
</ResponseField>

<ResponseField name="categories_included" type="array">
  List of memory categories included in bio generation
</ResponseField>

<ResponseField name="key_themes" type="array">
  Main themes identified in the bio
</ResponseField>

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

<ResponseField name="expires_at" type="string">
  ISO 8601 timestamp when bio will be considered stale
</ResponseField>

<ResponseExample>
  ```json Full Bio Response theme={null}
  {
    "bio": "A passionate software engineer and AI enthusiast currently based in San Francisco, working at a cutting-edge tech startup that focuses on machine learning applications in healthcare. With a strong background in Python development and a deep interest in how technology can improve medical outcomes, they regularly collaborate with healthcare professionals to develop innovative solutions.\n\nOutside of work, they maintain an active lifestyle through hiking in the Bay Area's beautiful trails and stay intellectually curious through extensive reading about emerging technologies. Family time is important to them, and they often balance their technical pursuits with meaningful personal relationships.\n\nTheir commitment to sustainability influences both their personal choices and professional interests, leading them to explore green technology solutions. Frequent travel for both professional conferences and leisure has broadened their perspective and contributed to their well-rounded approach to life and work.\n\nThey embody a philosophy of continuous learning, always seeking to expand their knowledge in artificial intelligence, healthcare technology, and sustainable innovation while maintaining strong connections with colleagues like Sarah Johnson and Dr. Martinez in their professional network.",
    "format": "full",
    "style": "narrative",
    "word_count": 164,
    "character_count": 1021,
    "confidence": 0.92,
    "source_memories": 89,
    "categories_included": [
      "career",
      "interests", 
      "relationships",
      "learning",
      "travel"
    ],
    "key_themes": [
      "Technology and AI",
      "Healthcare Innovation",
      "Continuous Learning",
      "Work-Life Balance",
      "Sustainability"
    ],
    "generated_at": "2024-01-15T16:30:00Z",
    "expires_at": "2024-01-22T16:30:00Z"
  }
  ```

  ```json Short Bio Response theme={null}
  {
    "bio": "Software engineer and AI enthusiast at a healthcare tech startup in San Francisco. Passionate about machine learning applications in medicine, hiking, reading, and sustainable technology. Values continuous learning and meaningful relationships.",
    "format": "short",
    "style": "narrative",
    "word_count": 35,
    "character_count": 237,
    "confidence": 0.89,
    "source_memories": 89,
    "categories_included": [
      "career",
      "interests",
      "relationships"
    ],
    "key_themes": [
      "Technology and AI",
      "Healthcare",
      "Personal Growth"
    ],
    "generated_at": "2024-01-15T16:30:00Z",
    "expires_at": "2024-01-22T16:30:00Z"
  }
  ```

  ```json Bullet Points Bio Response theme={null}
  {
    "bio": "• Software engineer at healthcare tech startup in San Francisco\n• Specializes in machine learning applications for medical technology\n• Active hiker and outdoor enthusiast in the Bay Area\n• Voracious reader focused on emerging technologies\n• Strong advocate for sustainable technology solutions\n• Values continuous learning and professional development\n• Maintains close relationships with colleagues and healthcare professionals\n• Frequent traveler for both work conferences and leisure",
    "format": "bullets",
    "style": "factual",
    "word_count": 67,
    "character_count": 482,
    "confidence": 0.91,
    "source_memories": 89,
    "categories_included": [
      "career",
      "interests",
      "relationships",
      "travel",
      "learning"
    ],
    "key_themes": [
      "Professional Expertise",
      "Personal Interests",
      "Lifestyle Choices"
    ],
    "generated_at": "2024-01-15T16:30:00Z",
    "expires_at": "2024-01-22T16:30:00Z"
  }
  ```
</ResponseExample>

## Bio Formats

<Accordion title="Full Bio">
  A comprehensive 150-200 word narrative bio covering all major aspects of the user's life and interests based on their memories.
</Accordion>

<Accordion title="Short Bio">
  A concise 30-50 word summary highlighting the most important aspects of the user's profile.
</Accordion>

<Accordion title="Bullets Bio">
  A structured list of key points about the user, organized as bullet points for easy scanning.
</Accordion>

<Accordion title="Professional Bio">
  A professional-focused bio emphasizing career, skills, and professional achievements while minimizing personal details.
</Accordion>

## Writing Styles

<Accordion title="Narrative">
  Flowing, story-like prose that reads naturally and engagingly.
</Accordion>

<Accordion title="Factual">
  Straightforward, fact-based presentation without narrative flourishes.
</Accordion>

<Accordion title="Casual">
  Informal, conversational tone that feels personal and approachable.
</Accordion>

<Accordion title="Formal">
  Professional, polished tone suitable for business contexts.
</Accordion>

## 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">
  Bio not yet generated

  ```json theme={null}
  {
    "error": "Bio not yet generated",
    "code": "BIO_NOT_FOUND",
    "suggestion": "Store at least 5 memories to generate a bio",
    "current_memory_count": 3
  }
  ```
</ResponseField>

<ResponseField name="400" type="object">
  Invalid format or style

  ```json theme={null}
  {
    "error": "Invalid bio format specified",
    "code": "INVALID_FORMAT",
    "valid_formats": ["full", "short", "bullets", "professional"]
  }
  ```
</ResponseField>

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

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

## Generation Requirements

Bio generation requires:

* **Minimum memories**: At least 5 stored memories
* **Category diversity**: Memories from at least 2 different categories
* **Content quality**: Memories with sufficient text content (>10 words each)

## Refresh Behavior

* **Automatic refresh**: Bios are refreshed when significant new memories are added
* **Manual refresh**: Use `refresh=true` to force regeneration
* **Cooldown period**: Refreshes are limited to once every 10 minutes
* **Expiration**: Bios are considered stale after 7 days and will auto-refresh on next request

## Privacy Considerations

* Bio generation respects memory privacy settings
* Private category memories are excluded unless specifically enabled
* Bio visibility can be controlled through profile privacy settings
* Generated bios never include sensitive metadata like exact locations or private details
