# Get Member
> Source: /api-reference/members/profile/get-member
> Retrieve complete member profile with wallet and loyalty data
> Endpoint: GET /members/me

# Get Member Profile

Retrieve comprehensive member data including profile, contacts, wallet, and loyalty information.

## Request [#request]

```http
GET /members/me
Authorization: Bearer <CLERK_JWT_TOKEN>
```

## Response [#response]

<ResponseField name="member" type="object" required>
  Member basic information
  <Expandable title="properties">
    <ResponseField name="externalId" type="string">
      ULID identifier
    </ResponseField>
    <ResponseField name="memberCode" type="string">
      6-character code
    </ResponseField>
    <ResponseField name="displayName" type="string">
      Display name
    </ResponseField>
    <ResponseField name="firstName" type="string">
      First name
    </ResponseField>
    <ResponseField name="lastName" type="string">
      Last name
    </ResponseField>
    <ResponseField name="avatarUrl" type="string">
      Profile picture URL
    </ResponseField>
    <ResponseField name="status" type="string">
      active | suspended | closed
    </ResponseField>
    <ResponseField name="onboardingCompletedAt" type="string">
      ISO 8601 timestamp
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="profile" type="object">
  Extended profile preferences
  <Expandable title="properties">
    <ResponseField name="dateOfBirth" type="string">
      YYYY-MM-DD format
    </ResponseField>
    <ResponseField name="socialLinks" type="object">
      Social media profiles
    </ResponseField>
    <ResponseField name="travelPreferences" type="object">
      Travel preferences including airlines, seat, meal
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="wallet" type="object" required>
  Points and balances
  <Expandable title="properties">
    <ResponseField name="spendablePoints" type="number">
      Available points
    </ResponseField>
    <ResponseField name="validBalance" type="number">
      Valid balance
    </ResponseField>
    <ResponseField name="creditBalance" type="number">
      Credit balance
    </ResponseField>
    <ResponseField name="tierEligiblePoints" type="number">
      Points for tier calculation
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="loyalty" type="object" required>
  Tier and loyalty status
  <Expandable title="properties">
    <ResponseField name="tierLevel" type="number">
      Current tier level (1-4)
    </ResponseField>
    <ResponseField name="tierName" type="string">
      Tier name
    </ResponseField>
    <ResponseField name="lifetimePoints" type="number">
      Total lifetime points
    </ResponseField>
    <ResponseField name="pointsToNextTier" type="number">
      Points needed for next tier
    </ResponseField>
  </Expandable>
</ResponseField>

## Example [#example]

```typescript
const response = await fetch('https://api.journey.com/members/me', {
  headers: {
    'Authorization': `Bearer ${clerkToken}`
  }
});

const data = await response.json();

console.log(`Welcome ${data.member.firstName}!`);
console.log(`You have ${data.wallet.spendablePoints} points`);
console.log(`Your tier: ${data.loyalty.tierName}`);
```

## Bruno [#bruno]

`bruno/Members (Surface)/Me/Profile/Get Me.bru`
