Skip to content

Update User Profile

PUT
/api/profile
curl --request PUT \
--url https://api.wink.travel/api/profile \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Updates the authenticated user’s profile with the provided information. Persists personal details, preferences, and sharing settings. Returns the updated profile.

Wink-Version
string
default: 2.0.0
Allowed values: 2.0

User profile data to update

Media typeapplication/json

Request payload for creating or updating the authenticated user’s profile

object
personal

Detailed customer information for this profile

object
address1

Primary address line

string
""
Example
123 Petchburi Road
address2

Secondary address line

string
""
Example
Ratchathewi District
birthDate

Date of birth in ISO 8601 format

string format: date
""
Example
1985-06-15
childQuantity

Number of children

integer format: int32
""
Example
2
citizenship

Country of citizenship

string
""
Example
Thailand
city

City name

string
""
Example
Bangkok
contactPerson
Array<object>

Array of emergency contact information for the customer

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
Example
Alexandra
fullName

First and last name

string
""
Example
Alexandra Beaumont
lastName

Contact last name

string
""
Example
Beaumont
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
Example
+12125551212
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
Example
John Smith ([email protected] / +12125551212)
Example
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
country

Country code (ISO 3166-1 alpha-2)

string
"" /^[A-Z]{2}$/
Example
TH
gender

Identifies the gender of the customer.

string
""
Allowed values: MALE FEMALE OTHER
Example
FEMALE
language

Primary language (ISO 639-1 code)

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
Example
en
maritalStatus

Marital status of the traveler

string
""
Allowed values: ANNULLED COHABITATING DIVORCED ENGAGED MARRIED SEPARATED SINGLE WIDOWED UNKNOWN
Example
MARRIED
petInfo
Array<object>

Array of customer’s pets

object
name
required

Pet name

string
"" >= 1 characters
Example
Luna
type
required

Pet type

string
"" >= 1 characters
Example
Golden Retriever
Example
{
"name": "Luna",
"type": "Golden Retriever"
}
physChallName
Array<string>
postalCode

Postal code

string
""
Example
10400
preferredCurrency

Preferred currency for monetary values (ISO 4217 code)

string
"" /^[A-Z]{3}$/
Example
USD
state

State or province

string
""
Example
Bangkok
Example
{
"address1": "123 Petchburi Road",
"address2": "Ratchathewi District",
"birthDate": "1985-06-15",
"childQuantity": 2,
"citizenship": "Thailand",
"city": "Bangkok",
"contactPerson": [
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
],
"country": "TH",
"gender": "FEMALE",
"language": "en",
"maritalStatus": "MARRIED",
"petInfo": [
{
"name": "Luna",
"type": "Golden Retriever"
}
],
"postalCode": "10400",
"preferredCurrency": "USD",
"state": "Bangkok"
}
preferences

Customer preferences

object
allergies

Known allergies

Array<string>
bedTypePref

Preferred hotel bed type

string
""
Example
King bed
beveragePref

Beverage preferences

Array<string>
businessSrvcPref

Preferred business services

Array<string>
cuisinePref

Cuisine preference

string
""
Example
Thai
foodPref

Food preferences

Array<string>
foodSrvcPref

Preferred food service facilities

string
""
Example
In-room dining
guestType

Guest type classification

string
""
Example
Business traveler
hotelChainPref

Preferred hotel chain name

string
""
Example
Mandarin Oriental
interestPref

Interest preferences

Array<string>
mealPref

Meal preference

string
""
Example
Continental breakfast
petsPref

Pet-friendly preferences

Array<string>
physChalFeaturePref

Preferred accessibility features

Array<string>
""
Example
Wheelchair accessible rooms
propertyAmenityPref

Preferred hotel property amenities

Array<string>
propertyLocationPref

Preferred hotel property locations

string
""
Example
Beachfront
propertyTypePref

Preferred hotel property types

string
""
Example
Luxury Resort
recreationSrvcPref

Preferred recreation services

Array<string>
roomAmenityPref

Preferred hotel room amenities

Array<string>
roomLocationPref

Preferred hotel room locations

string
""
Example
High floor with city view
securityFeaturePref

Preferred security features

Array<string>
smokingAllowed

Preference for smoking allowed rooms

boolean
Example
false
Example
{
"bedTypePref": "King bed",
"cuisinePref": "Thai",
"foodSrvcPref": "In-room dining",
"guestType": "Business traveler",
"hotelChainPref": "Mandarin Oriental",
"mealPref": "Continental breakfast",
"physChalFeaturePref": "Wheelchair accessible rooms",
"propertyLocationPref": "Beachfront",
"propertyTypePref": "Luxury Resort",
"roomLocationPref": "High floor with city view",
"smokingAllowed": false
}
share
required

Whether the user wants to share this profile with hotels

boolean
Example
true
user
required

User details

object
email

User email address

string format: email
""
firstName

User first name

string
""
Example
Alexandra
fullName

Full name

string
""
Example
Alexandra Beaumont
lastName

User last name

string
""
Example
Beaumont
phone

User phone number

string
"" /^\+?[1-9]\d{1,14}$/
Example
+66212658866
profilePictureUrl

Profile picture URL

string format: uri
""
Example
https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg
Example
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phone": "+66212658866",
"profilePictureUrl": "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
}
Example
{
"personal": {
"address1": "123 Petchburi Road",
"address2": "Ratchathewi District",
"birthDate": "1985-06-15",
"childQuantity": 2,
"citizenship": "Thailand",
"city": "Bangkok",
"contactPerson": [
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
],
"country": "TH",
"gender": "FEMALE",
"language": "en",
"maritalStatus": "MARRIED",
"petInfo": [
{
"name": "Luna",
"type": "Golden Retriever"
}
],
"postalCode": "10400",
"preferredCurrency": "USD",
"state": "Bangkok"
},
"preferences": {
"bedTypePref": "King bed",
"cuisinePref": "Thai",
"foodSrvcPref": "In-room dining",
"guestType": "Business traveler",
"hotelChainPref": "Mandarin Oriental",
"mealPref": "Continental breakfast",
"physChalFeaturePref": "Wheelchair accessible rooms",
"propertyLocationPref": "Beachfront",
"propertyTypePref": "Luxury Resort",
"roomLocationPref": "High floor with city view",
"smokingAllowed": false
},
"share": true,
"user": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phone": "+66212658866",
"profilePictureUrl": "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
}
}

Profile updated successfully

Media typeapplication/json
object
createdDate

Datetime this record was first created

string | null format: date-time
""
id

Unique identifier for this record.

string format: uuid
""
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
personal
required

Detailed customer information for this profile

object
address1

Primary address line

string
""
address2

Secondary address line

string
""
birthDate

Date of birth in ISO 8601 format

string format: date
""
childQuantity

Number of children

integer format: int32
""
citizenship

Country of citizenship

string
""
city

City name

string
""
contactPerson
Array<object>

Array of emergency contact information for the customer

object
email

Contact E-mail

string format: email
""
firstName

Contact first name

string
""
fullName

First and last name

string
""
lastName

Contact last name

string
""
phoneNumber

Contact phone number

string
"" /^\+?[1-9]\d{1,14}$/
secondaryEmail

Contact secondary Email

string format: email
""
summary

Summary

string
""
country

Country code (ISO 3166-1 alpha-2)

string
"" /^[A-Z]{2}$/
gender

Identifies the gender of the customer.

string
""
Allowed values: MALE FEMALE OTHER
language

Primary language (ISO 639-1 code)

string
"" /^[a-z]{2}(-[A-Z]{2})?$/
maritalStatus

Marital status of the traveler

string
""
Allowed values: ANNULLED COHABITATING DIVORCED ENGAGED MARRIED SEPARATED SINGLE WIDOWED UNKNOWN
petInfo
Array<object>

Array of customer’s pets

object
name
required

Pet name

string
"" >= 1 characters
type
required

Pet type

string
"" >= 1 characters
physChallName
Array<string>
postalCode

Postal code

string
""
preferredCurrency

Preferred currency for monetary values (ISO 4217 code)

string
"" /^[A-Z]{3}$/
state

State or province

string
""
preferences
required

Customer preferences

object
allergies

Known allergies

Array<string>
bedTypePref

Preferred hotel bed type

string
""
beveragePref

Beverage preferences

Array<string>
businessSrvcPref

Preferred business services

Array<string>
cuisinePref

Cuisine preference

string
""
foodPref

Food preferences

Array<string>
foodSrvcPref

Preferred food service facilities

string
""
guestType

Guest type classification

string
""
hotelChainPref

Preferred hotel chain name

string
""
interestPref

Interest preferences

Array<string>
mealPref

Meal preference

string
""
petsPref

Pet-friendly preferences

Array<string>
physChalFeaturePref

Preferred accessibility features

Array<string>
""
propertyAmenityPref

Preferred hotel property amenities

Array<string>
propertyLocationPref

Preferred hotel property locations

string
""
propertyTypePref

Preferred hotel property types

string
""
recreationSrvcPref

Preferred recreation services

Array<string>
roomAmenityPref

Preferred hotel room amenities

Array<string>
roomLocationPref

Preferred hotel room locations

string
""
securityFeaturePref

Preferred security features

Array<string>
smokingAllowed

Preference for smoking allowed rooms

boolean
profileIdentifier
required

Profile identifier

string format: uuid
"" >= 1 characters
share
required

Indicates whether the user wants to share this profile of themselves with hotel(s)

boolean
user
required

User details

object
email

User email address

string format: email
""
firstName

User first name

string
""
fullName

Full name

string
""
lastName

User last name

string
""
phone

User phone number

string
"" /^\+?[1-9]\d{1,14}$/
profilePictureUrl

Profile picture URL

string format: uri
""
userIdentifier
required

User identifier

string format: uuid
"" >= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
""
key
additional properties
""
Example
{
"createdDate": "2026-01-14T09:30:00",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"personal": {
"address1": "123 Petchburi Road",
"address2": "Ratchathewi District",
"birthDate": "1985-06-15",
"childQuantity": 2,
"citizenship": "Thailand",
"city": "Bangkok",
"contactPerson": [
{
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phoneNumber": "+12125551212",
"secondaryEmail": "[email protected]",
"summary": "John Smith ([email protected] / +12125551212)"
}
],
"country": "TH",
"gender": "FEMALE",
"language": "en",
"maritalStatus": "MARRIED",
"petInfo": [
{
"name": "Luna",
"type": "Golden Retriever"
}
],
"postalCode": "10400",
"preferredCurrency": "USD",
"state": "Bangkok"
},
"preferences": {
"bedTypePref": "King bed",
"cuisinePref": "Thai",
"foodSrvcPref": "In-room dining",
"guestType": "Business traveler",
"hotelChainPref": "Mandarin Oriental",
"mealPref": "Continental breakfast",
"physChalFeaturePref": "Wheelchair accessible rooms",
"propertyLocationPref": "Beachfront",
"propertyTypePref": "Luxury Resort",
"roomLocationPref": "High floor with city view",
"smokingAllowed": false
},
"profileIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"share": true,
"user": {
"email": "[email protected]",
"firstName": "Alexandra",
"fullName": "Alexandra Beaumont",
"lastName": "Beaumont",
"phone": "+66212658866",
"profilePictureUrl": "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
},
"userIdentifier": "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
"version": 3
}

Bad Request — missing or invalid request parameter or body

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unauthorized — authentication is required or the session has expired

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Forbidden — authenticated but lacking the required permission or scope

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Not Found — the requested resource does not exist

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unsupported Media Type — use application/json

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Internal Server Error — an unexpected failure occurred on the server

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Service Unavailable — a downstream dependency is unreachable

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example