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

# Get User Profile

> Retrieve current user's profile information

# Get User Profile

Retrieve the authenticated user's profile information.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://api.weir.ai/user/profile' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'x-source: console'
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "data": {
      "userId": "user_123456789",
      "fullname": "John Doe",
      "firstname": "John",
      "lastname": "Doe",
      "username": "johndoe123",
      "email": "john.doe@example.com",
      "bio": "Software engineer",
      "location": "San Francisco, CA",
      "avatar": "https://cdn.weir.ai/avatars/user_123456789.jpg",
      "role": "Organization_Admin",
      "organizationId": "org_123456789",
      "createdAt": "2024-01-01T00:00:00Z",
      "updatedAt": "2024-01-22T15:30:00Z"
    },
    "message": "Profile retrieved successfully",
    "status": "success"
  }
  ```
</ResponseExample>

## Response Fields

<ResponseField name="data" type="object" required>
  User profile data object.

  <Expandable title="Profile Properties">
    <ResponseField name="userId" type="string" required>
      Unique user identifier.
    </ResponseField>

    <ResponseField name="fullname" type="string" required>
      User's full name.
    </ResponseField>

    <ResponseField name="firstname" type="string">
      First name.
    </ResponseField>

    <ResponseField name="lastname" type="string">
      Last name.
    </ResponseField>

    <ResponseField name="username" type="string">
      Username.
    </ResponseField>

    <ResponseField name="email" type="string" required>
      Email address.
    </ResponseField>

    <ResponseField name="bio" type="string">
      User biography.
    </ResponseField>

    <ResponseField name="location" type="string">
      User location.
    </ResponseField>

    <ResponseField name="avatar" type="string">
      Avatar URL.
    </ResponseField>

    <ResponseField name="role" type="string" required>
      User role in organization.
    </ResponseField>
  </Expandable>
</ResponseField>

## Usage Examples

<CodeGroup>
  ```javascript JavaScript theme={null}
  const getUserProfile = async (accessToken) => {
    const response = await fetch('https://api.weir.ai/user/profile', {
      headers: {
        'Authorization': `Bearer ${accessToken}`,
        'x-source': 'console'
      }
    });
    if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
    return await response.json();
  };
  ```

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

  def get_user_profile(access_token):
      response = requests.get(
          'https://api.weir.ai/user/profile',
          headers={
              'Authorization': f'Bearer {access_token}',
              'x-source': 'console'
          }
      )
      response.raise_for_status()
      return response.json()
  ```
</CodeGroup>
