Profile Tools
Read and update the user's account profile.
getProfile
Returns name, email, phone, gender, date of birth, and home address. Missing fields show as N/A. Call this to identify the user, personalize responses, or check that required fields are set before purchasing a lab test.
Parameters: none
Returns: JSON with firstName, lastName, email, phone, gender, birthDate, and homeAddress (fullAddress, city, state, zipCode, country).
updateProfile
PATCH semantics. All parameters optional — only provided fields change. Address fields merge with existing address.
| Parameter | Format |
|---|---|
firstName | string |
lastName | string |
phone | digits only, no dial code (e.g. "5551234567") |
phoneDialCode | "+1", "+44", etc. Must be passed together with phone. |
gender | MALE | FEMALE | OTHER | PREF_NOT |
birthDate | yyyy-MM-dd |
addressFullAddress | street address |
addressCity | city |
addressState | state / province |
addressZipCode | ZIP / postal |
addressCountry | "US", "GB", etc. |
Address must be the user's home
Never populate address fields with a lab service center, appointment location, or anything from searchLabServiceCenters. If the home address is missing, ask the user directly.
Why complete profile matters
Lab orders require gender, phone (with dial code), birth date, and a complete home address. initializeLabOrder and purchaseLabTest will fail or stall in "Paid" status if any of these are missing.
Deprecation note
getUserContactData and updateUserContactData are deprecated aliases — use getProfile / updateProfile.

