---
title: "Updates the member personal details of the currently authenticated member"
method: PUT
path: "/ocapi/v1/members/current/personal-details"
tags: ["Members"]
---

# Updates the member personal details of the currently authenticated member

`PUT /ocapi/v1/members/current/personal-details`

Full personalDetails object from GetMember containing updated values must be sent to this endpoint.
If field is not provided then it's considered that it must be cleared.




Note: currently Vista Loyalty doesn't support clearing fields. Also enum fields don't support setting value 0 where it is equivalent of clearing field (e.g. NotSpecified)

#### Licenses Required


- Vista.Ocapi

## Headers

- `loyaltySessionToken` string
- `Connect-Region-Code` string

## Request body

- OcapiV1LoyaltyMembersPersonalDetailsMemberPersonalDetails — Represents the personal details of a member
  - `name` OcapiV1PersonName, required — Represents the parts of a person's name
    - `givenName` string, nullable — Gets the given name
    - `familyName` string, nullable — Gets the family name
    - `middleName` string, nullable — Gets the middle or any additional name
  - `contactDetails` OcapiV1LoyaltyMembersPersonalDetailsMemberContactDetails, required — Represents the contact details of a member
    - `phoneNumbers` OcapiV1PhoneNumber[], required — Gets the list of phone number entities
      - `type` 'Home' | 'Mobile' | 'Work' | 'Business' | 'Fax', required — Represents the type of a phone number
      - `number` string, required — Gets the phone number
    - `address` OcapiV1LoyaltyMembersPersonalDetailsMemberAddress — Represents the physical address of a member
      - `line1` string, nullable — Gets the first line
      - `suburb` string, nullable — Gets the suburb
      - `city` string, nullable — Gets the city
      - `state` string, nullable — Gets the state
      - `postCode` string, nullable — Gets the post code
      - `country` string, nullable — Gets the country
    - `pushNotificationToken` OcapiV1PushNotificationToken — Represents a token used for push notifications
      - `id` string, required — Gets the unique identifier
      - `type` 'Android' | 'Ios', required — Represents the type of a push notification token
  - `interestSubscriptions` OcapiV1LoyaltyMembersPersonalDetailsMemberInterestSubscription[], required — Gets the list of member interest subscription entities
    - `interestId` integer, required — Gets the unique identifier of the interest
    - `interestContactMethodIds` integer[], required — Gets the list of unique identifiers of the selected interest contact method entities
  - `preferences` OcapiV1LoyaltyMembersPreferencesMemberPreferences, required — Represents preferences of a member
    - `sites` OcapiV1LoyaltyMembersPreferencesMemberSitePreferences, required — Represents the loyalty site preferences of a member
      - `pickupSiteId` string, nullable — Gets the unique identifier of the loyalty site used for pickup orders
      - `primarySiteId` string, nullable — Gets the unique identifier of the primary loyalty site
      - `preferredSiteIds` string[], required — Gets the list of unique identifiers of the preferred loyalty site entities
    - `genres` OcapiV1LoyaltyMembersPreferencesMemberGenrePreferences, required — Represents the loyalty genre preferences of a member
      - `preferredGenreIds` string[], required — Gets the list of unique identifiers of the preferred loyalty genre entities
    - `contact` OcapiV1LoyaltyMembersPreferencesMemberContactPreferences, required — Represents the contact preferences of a member
      - `contactMethods` OcapiV1LoyaltyMembersPreferencesMemberContactMethod[], required — Gets the list of preferred member contact method entities
      - `mailerFrequency` 'Never' | 'Weekly' | 'Fortnightly' | 'Monthly', required — Represents how often the member receives a mailer
      - `allowThirdPartyContact` boolean, required — Gets a value indicating whether the member has consented to being contacted by third parties
    - `customPreferences` OcapiV1LoyaltyMembersPreferencesMemberCustomPreference[], required — Gets the list of member custom preference entities
      - `customPreferenceId` integer, required — Gets the unique identifier of the custom preference
      - `customPreferenceOptionIds` integer[], required — Gets the list of unique identifiers of the selected custom preference option entities
    - `languageTag` string, nullable — Gets the IETF (RFC 4646) language tag
    - `allowThirdPartyProfiling` boolean, required — Gets a value indicating whether the member has consented to third-party profiling
  - `birthDate` string, date-time, nullable — Gets the date of birth, if known
  - `maritalStatus` 'NotSpecified' | 'Single' | 'Married' | 'Partnered' | 'Divorced' | 'Other', required — Represents the marital status of a member
  - `gender` 'NotSpecified' | 'Male' | 'Female' | 'Other', required — Represents the gender of a member
  - `educationLevelId` integer, nullable — Gets the unique identifier of the education level, if known
  - `occupationId` integer, nullable — Gets the unique identifier of the occupation, if known
  - `householdPersonCount` integer, nullable — Gets the number of people living in the household, if known
  - `nationalId` string, nullable — Gets the national unique identifier, if known
  - `externalId` string, nullable — Gets the unique identifier used in a previous loyalty system, if known

## Response `204`

Member personal details updated.

## Other responses

- `400` — Request property is invalid or missing.
- `401` — No member authenticated.

---

[API](https://skmtc.net/vista/apis/vista-digital-platform.md) · [All operations](https://skmtc.net/vista/apis/vista-digital-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vista/vista-digital-platform/revisions/3a81c0aed14e/schema)
