Aller au contenu

Rectification RGPD art.16 — mise à jour partielle du profil client

PATCH
/v1/guests/{id}
curl --request PATCH \
--url https://example.com/v1/guests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "identity": { "firstName": "example", "lastName": "example", "birthDate": "2026-04-15", "birthCity": "example", "birthCountryCode": "example", "nationality": "example" }, "vipStatus": "none", "loyalty": { "memberId": "example", "externalProgram": "example", "externalId": "example", "acsiCard": "example" }, "customerType": "transient", "residence": { "line1": "example", "city": "example", "postalCode": "example", "countryCode": "example" } }'

Merge partiel : seuls les champs présents dans le corps sont mis à jour. Interdit sur un profil anonymisé (409 GUEST_PROFILE_ANONYMIZED). Permission réutilisée : guest.create (équivalent write sur le profil).

id
required
string format: uuid

UUID du profil guest

Media type application/json
object
identity

Champs d’identité à rectifier (merge partiel)

object
firstName
string
>= 1 characters <= 100 characters
lastName
string
>= 1 characters <= 100 characters
birthDate
string format: date
nullable
birthCity
string
nullable
birthCountryCode

ISO 3166-1 alpha-2

string
nullable
nationality

ISO 3166-1 alpha-2

string
nullable
vipStatus
string
Allowed values: none silver gold platinum
loyalty
object
memberId
string
nullable
externalProgram
string
nullable
externalId
string
nullable
acsiCard
string
nullable
customerType
string
Allowed values: transient seasonal_resident
residence

Adresse de résidence. null = effacement explicite ; absent = inchangé.

object
line1
required
string
<= 200 characters
city
required
string
<= 100 characters
postalCode
required
string
<= 20 characters
countryCode
required

ISO 3166-1 alpha-2

string

Profil rectifié

Media type application/json
object
data
required
object
guestProfileId
required
string format: uuid
Example generated
{
"data": {
"guestProfileId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}

Corps invalide ou vide

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Non authentifié

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Permission refusée

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Profil guest introuvable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Profil anonymisé — rectification impossible (RGPD art.17 prévalent)

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}