After verifying business login, claim a guest. New accounts retain the customer UUID; existing accounts merge profile data with an audit record. Protected purchases and balances block automatic merging.
SDK 0.0.1Updated
Make the request
After verifying business login, claim a guest. New accounts retain the customer UUID; existing accounts merge profile data with an audit record. Protected purchases and balances block automatic merging.
Credential
Server API key only. Call from your trusted backend.
Permission
customers:write
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
The response tab lists field types, not an example payload. Actual values depend on customer state.
Request parameters
JSON body
guestTokenstringRequired
The guestToken value for this operation. Its accepted type and constraints are listed above and below.
pattern: ^gg_gc_[A-Za-z0-9_-]{43}$
externalUserIdstringRequired
Stable user ID from your server-authenticated login system, not an email address. null for a customer reserved by email and not yet claimed.
minLength: 1 · maxLength: 255
requestIduuidRequired
Business request UUID. Reuse for retries of one operation; generate a new value for a new operation.
Response fields
Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.
HTTP 200 · application/json
requestIduuidRequired
Server-generated HTTP request UUID. Include it when reporting a failed request.
scopeobjectRequired
The App and environment of this response. Headers only verify scope; they cannot switch key scope.
Show child fields
projectIdstringRequired
App ID bound to the credential.
minLength: 1
environmentenumRequired
Separate data scope: sandbox or live.
Show allowed values
"sandbox""live"
customerobjectRequired
Customer profile object.
Show child fields
iduuidRequired
The id value for this operation. Its accepted type and constraints are listed above and below.
externalUserIdstring | nullRequired
Stable user ID from your server-authenticated login system, not an email address. null for a customer reserved by email and not yet claimed.
namestringRequired
Display name of the customer or object; not an identity key.
maxLength: 80
emailemail | ""Required
Customer contact email; not used to merge customer identities.
attributesobjectRequired
Up to 128 keys, 1–128 characters each, and 64 KiB total JSON. Values may contain nested JSON, limited to 20 levels and 10,000 nodes per value. Reserved fields are rejected. Null is a value; delete keys with removeAttributes. Tags live in attributes.tags and change through tagChanges.
revisionintegerRequired
Revision returned by profile reads; updates use it to detect concurrent changes.
min: 0 · max: 9007199254740991
createdAtdate-timeRequired
ISO 8601 UTC time when the record was created.
updatedAtdate-timeRequired
ISO 8601 UTC time of the last record update.
mergedbooleanRequired
The merged value for this operation. Its accepted type and constraints are listed above and below.
replayedbooleanRequired
The replayed value for this operation. Its accepted type and constraints are listed above and below.
Handle errors
Common failures
Code
Recovery
UNAUTHENTICATED
Verify the key or refresh the expired customer token once.
FORBIDDEN
Check current key permissions and customer access.
INVALID_REQUEST
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Use the App and environment bound to the credential.
Common failures
UNAUTHENTICATED
Recovery
Verify the key or refresh the expired customer token once.
FORBIDDEN
Recovery
Check current key permissions and customer access.
INVALID_REQUEST
Recovery
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Recovery
Use the App and environment bound to the credential.