Skip to content

Change your display name

The users.profile.update operation: PATCH /api/v1/users/me/profile in the REST API and the users_profile_update tool in the MCP server.

PATCH/api/v1/users/me/profile

Changes the name the people in your organizations see for you: in the members list, in audit logs and next to your photo. 1–200 characters; line breaks and control characters are refused. Sending the name you already have changes nothing.

A name you set yourself stays: signing in with Google or Microsoft later no longer replaces it with the name of that account (nameSetByUser). Your organizations get user.updated, which says what changed but carries no name.

Who can call it: the signed-in user, for their own account, in the console.

At a glance

  • REST: PATCH /api/v1/users/me/profile
  • MCP tool: users_profile_update
  • Operation ID: users.profile.update
  • Scope: Platform
  • Permission: account:write
  • Risk tier: write
  • Dry run: Supported (send Ownrecord-Dry-Run: true)
  • Idempotency: Idempotency-Key optional
  • Modes: Test and live
  • Authentication: API key with the account:write scope
  • Since: M13

Request

Body

A JSON object (Content-Type: application/json):

FieldTypeRequiredDescription
namestringYesYour name as the people in your organizations see it, 1–200 characters. Signing in with Google or Microsoft no longer changes it.

Response

200 OK with a JSON object:

FieldTypeDescription
object"user_profile"
idusr_… ID
emailstringYour account's address (changed with users.email_change.start).
namestring or nullYour display name, or null when there is none yet.
nameSetByUserbooleanWhether you set the name yourself. Until you do, a Google or Microsoft sign-in may update it from that account.
avatarobject or nullYour uploaded photo (private: shown to you, to the people in your organizations and to staff), or null.
updatedAtdate-time

Examples

Use my full name

HTTP
PATCH /api/v1/users/me/profile
Authorization: Bearer or_test_…
Content-Type: application/json

{
  "name": "Ana Novak"
}

Response (200):

JSON
{
  "object": "user_profile",
  "id": "usr_01m4tx5nj8emwbyf7y9vcf47xa",
  "email": "ana@acme.example",
  "name": "Ana Novak",
  "nameSetByUser": true,
  "avatar": null,
  "updatedAt": "2026-11-05T09:00:00.000Z"
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400The name is empty, longer than 200 characters or has a control character.Fix the fields listed in details.issues and send the request again.
version_conflict409Your account changed at the same time; retry.Fetch the object again and retry the change.
permission_denied403The caller isn't a person signed in to the console.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, invalid_json, unsupported_media_type, authentication_required, api_key_invalid, resource_not_found, idempotency_key_reused, idempotency_in_progress, rate_limited, internal_error.