curl --request PATCH \
--url https://api.pid.peridotvault.com/v1/profile \
--header 'Content-Type: application/json' \
--cookie pid_access= \
--data '
{
"displayName": "PeridotPlayer",
"locale": "en-US"
}
'{
"pid": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"avatarUrl": "<string>",
"locale": "<string>"
}{
"statusCode": 400,
"message": [
"handle must be 3-20 chars: lowercase letters, numbers, underscore"
]
}{
"statusCode": 401,
"message": "Unauthorized"
}profile
Update the current profile
Updates one or more mutable profile fields (display name, avatar, locale).
Only provided fields are changed. The PID (<handle>@pid) is immutable and
is never updated here — there is no endpoint that changes, reuses, or
reassigns it.
PATCH
/
profile
curl --request PATCH \
--url https://api.pid.peridotvault.com/v1/profile \
--header 'Content-Type: application/json' \
--cookie pid_access= \
--data '
{
"displayName": "PeridotPlayer",
"locale": "en-US"
}
'{
"pid": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"displayName": "<string>",
"avatarUrl": "<string>",
"locale": "<string>"
}{
"statusCode": 400,
"message": [
"handle must be 3-20 chars: lowercase letters, numbers, underscore"
]
}{
"statusCode": 401,
"message": "Unauthorized"
}Authorizations
JWT access token set by /auth/google/callback or /auth/refresh
Body
application/json
Response
The updated profile
Shared PK with Identity — the PID itself (permanent, immutable)
Pattern:
^[a-z0-9_]{3,20}@pid$Maximum string length:
64Maximum string length:
16