Claude Platform Docs

Update User Profile

$client->beta->userProfiles->update(string userProfileID, ?AccessType accessType, ?string externalID, ?BetaUserProfileExternalUserDetailsParams externalUserDetails, ?\Datetime externalUserOnboardedAt, ?array<string,string> metadata, ?string name, ?list<AnthropicBeta> betas, ?string workspaceID): BetaUserProfile
POST/v1/user_profiles/{user_profile_id}

Update User Profile

Parameters
userProfileID: string⁠Path parameter

The ID of the user profile to update (uprof_...).

accessType?:optional AccessType

If present, replaces the stored access type. Omit to leave unchanged.

externalID?:optional string

If present, replaces the stored external_id. Omit to leave unchanged. Maximum 255 characters. Accepted under the user-profiles-2026-03-24 and user-profiles-2026-08-18 beta headers; under user-profiles-2026-09-04 send external_user_details.reference_id instead.

externalUserDetails?:optional BetaUserProfileExternalUserDetailsParams

Details about the entity this profile represents, as the platform states them. Each field sent replaces the stored value; omit a field to leave it unchanged. Once set, a value cannot be cleared and null is rejected. Accepted under the user-profiles-2026-09-04 beta header only.

externalUserOnboardedAt?:optional \Datetime

If present, replaces the stored account creation time. Omit to leave unchanged; once set, the value cannot be cleared and null is rejected. Must be a complete RFC 3339 timestamp no more than 1 minute in the future. Accepted under the user-profiles-2026-08-18 beta header; under user-profiles-2026-09-04 send external_user_details.onboarded_at instead.

metadata?:optional array<string,string>

Key-value pairs to merge into the stored metadata. Keys provided overwrite existing values. To remove a key, set its value to an empty string. Keys not provided are left unchanged. Maximum 16 keys, with keys up to 64 characters and values up to 512 characters.

name?:optional string

If present, replaces the stored name. Omit to leave unchanged. Maximum 255 characters.

betas?:optional list<AnthropicBeta>⁠Header parameter

Optional header to specify the beta version(s) you want to use.

workspaceID?:optional string⁠Header parameter

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns
class BetaUserProfile { $type; $id; $createdAt; /* 8 more */ }
Update User Profile
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaUserProfile = $client->beta->userProfiles->update(
  'uprof_011CZkZCu8hGbp5mYRQgUmz9',
  accessType: 'application',
  externalID: 'user_12345',
  externalUserDetails: [
    'accountStatus' => 'active',
    'country' => 'country',
    'emailHash' => 'x',
    'entityType' => 'individual',
    'nameHash' => 'x',
    'onboardedAt' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    'referenceID' => 'x',
  ],
  externalUserOnboardedAt: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
  metadata: ['foo' => 'string'],
  name: 'x',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
  workspaceID: 'wrkspc_011CZkZaBF1tNoB5wlCeusgy',
);

var_dump($betaUserProfile);
Returns Examples
Response 200
{
  "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
  "created_at": "2026-03-15T10:00:00Z",
  "metadata": {},
  "trust_grants": {
    "cyber": {
      "status": "active"
    }
  },
  "type": "user_profile",
  "updated_at": "2026-03-15T10:00:00Z",
  "access_type": "application",
  "external_id": "user_12345",
  "external_user_details": {
    "account_status": "active",
    "country": "country",
    "email_hash": "email_hash",
    "entity_type": "individual",
    "name_hash": "name_hash",
    "onboarded_at": "2019-12-27T18:11:19.117Z",
    "reference_id": "reference_id"
  },
  "external_user_onboarded_at": "2024-11-02T08:15:00Z",
  "name": "Example User"
}