# Update Profile
> Source: /api-reference/members/me/profile/update-profile
> Update extended profile preferences
> Endpoint: PATCH /members/me/profile

# Update Profile Preferences

Update extended profile data including personal information, travel preferences, hotel stay preferences, dining preferences, experience preferences, and communication settings. All fields are optional - only include the fields you want to update.

The profile system stores comprehensive member preferences that Journey uses to personalize the travel experience, from room assignments to restaurant recommendations.

## Authentication [#authentication]

Requires a valid Clerk JWT token in the Authorization header.

## Request Body [#request-body]

All fields are optional. Only include the fields you want to update. Nested objects are merged with existing data unless explicitly overwritten.

### Personal Information [#personal-information]

<ParamField body="dateOfBirth" type="string">
  YYYY-MM-DD format
</ParamField>

<ParamField body="gender" type="string">
  Gender identity
</ParamField>

<ParamField body="nationality" type="string">
  ISO country code
</ParamField>

<ParamField body="timezone" type="string">
  IANA timezone (e.g., America/New_York)
</ParamField>

<ParamField body="language" type="string">
  ISO language code
</ParamField>

<ParamField body="bio" type="string">
  Personal bio/description (max 500 characters)
</ParamField>

### Social Media Links [#social-media-links]

<ParamField body="socialLinks" type="object">
  <Expandable title="properties">
    <ParamField body="linkedin" type="string">
      LinkedIn URL or username
    </ParamField>
    <ParamField body="instagram" type="string">
      Instagram handle
    </ParamField>
    <ParamField body="twitter" type="string">
      Twitter/X handle
    </ParamField>
    <ParamField body="facebook" type="string">
      Facebook profile
    </ParamField>
  </Expandable>
</ParamField>

### Travel Preferences [#travel-preferences]

<ParamField body="travelPreferences" type="object">
  <Expandable title="properties">
    <ParamField body="preferredAirlines" type="array">
      Array of airline names
    </ParamField>
    <ParamField body="frequentFlyerPrograms" type="array">
      Array of objects with airline and number properties
    </ParamField>
    <ParamField body="seatPreference" type="string">
      window | aisle | middle
    </ParamField>
    <ParamField body="mealPreference" type="string">
      Meal preference
    </ParamField>
    <ParamField body="travelClass" type="string">
      economy | premium_economy | business | first
    </ParamField>
    <ParamField body="travelCompanions" type="array">
      Array of companion names
    </ParamField>
    <ParamField body="passportCountry" type="string">
      Passport issuing country
    </ParamField>
  </Expandable>
</ParamField>

### Hotel Stay Preferences [#hotel-stay-preferences]

<ParamField body="stayPreferences" type="object">
  Hotel stay preferences
  
  <Expandable title="properties">
    <ParamField body="roomType" type="string">
      Preferred room type
    </ParamField>
    
    <ParamField body="floorPreference" type="string">
      Preferred floor level (e.g., "high", "low")
    </ParamField>
    
    <ParamField body="bedType" type="string">
      Preferred bed type (e.g., "king", "queen")
    </ParamField>
    
    <ParamField body="pillowType" type="string">
      Preferred pillow type
    </ParamField>
    
    <ParamField body="roomLocation" type="string">
      Preferred room location
    </ParamField>
    
    <ParamField body="smokingRoom" type="boolean">
      Whether smoking room is preferred
    </ParamField>
    
    <ParamField body="accessibilityNeeds" type="array">
      Array of accessibility requirements
    </ParamField>
    
    <ParamField body="minibarStocked" type="boolean">
      Whether minibar should be stocked
    </ParamField>
    
    <ParamField body="newspaperDelivery" type="string">
      Preferred newspaper for delivery
    </ParamField>
  </Expandable>
</ParamField>

### Dining Preferences [#dining-preferences]

<ParamField body="diningPreferences" type="object">
  Dining and food preferences
  
  <Expandable title="properties">
    <ParamField body="dietaryRestrictions" type="array">
      Array of dietary restrictions
    </ParamField>
    
    <ParamField body="allergies" type="array">
      Array of food allergies
    </ParamField>
    
    <ParamField body="cuisinePreferences" type="array">
      Array of preferred cuisine types
    </ParamField>
    
    <ParamField body="mealTiming" type="string">
      Preferred meal timing
    </ParamField>
    
    <ParamField body="favoriteRestaurant" type="string">
      Favorite restaurant name
    </ParamField>
    
    <ParamField body="favoriteTable" type="string">
      Favorite table or seating preference
    </ParamField>
  </Expandable>
</ParamField>

### Experience Preferences [#experience-preferences]

<ParamField body="experiencePreferences" type="object">
  Experience and activity preferences
  
  <Expandable title="properties">
    <ParamField body="spaServices" type="array">
      Array of preferred spa services
    </ParamField>
    
    <ParamField body="activityInterests" type="array">
      Array of activity interests
    </ParamField>
    
    <ParamField body="specialOccasions" type="array">
      Array of special occasions to remember
      
      <Expandable title="items">
        <ParamField body="type" type="string" required>
          Type of occasion (e.g., "birthday", "anniversary")
        </ParamField>
        
        <ParamField body="date" type="string" required>
          Date of the occasion
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

### Communication Preferences [#communication-preferences]

<ParamField body="communicationPrefs" type="object">
  Communication preferences
  
  <Expandable title="properties">
    <ParamField body="email" type="boolean">
      Whether email notifications are enabled
    </ParamField>
    
    <ParamField body="sms" type="boolean">
      Whether SMS notifications are enabled
    </ParamField>
    
    <ParamField body="push" type="boolean">
      Whether push notifications are enabled
    </ParamField>
    
    <ParamField body="language" type="string">
      Preferred communication language
    </ParamField>
  </Expandable>
</ParamField>

### Additional Information [#additional-information]

<ParamField body="additionalInfo" type="object">
  Flexible key-value storage for client-specific data. The entire object is replaced on PATCH when present.
</ParamField>

## Example [#example]

```typescript
const response = await fetch('https://api.journey.com/members/me/profile', {
  method: 'PATCH',
  headers: {
    'Authorization': `Bearer ${clerkToken}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    gender: 'male',
    nationality: 'US',
    socialLinks: {
      linkedin: 'https://linkedin.com/in/johnsmith'
    },
    travelPreferences: {
      preferredAirlines: ['Delta', 'United'],
      seatPreference: 'aisle',
      travelClass: 'business',
      frequentFlyerPrograms: [
        { airline: 'Delta', number: 'DL123456' }
      ]
    },
    diningPreferences: {
      dietaryRestrictions: ['vegetarian'],
      allergies: ['peanuts'],
      cuisinePreferences: ['Italian', 'Japanese']
    }
  })
});
```

## Bruno [#bruno]

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