title: User Profiles url: https://platform.claude.com/docs/en/api/beta/user_profiles
User Profiles
Create User Profile
POST /v1/user_profiles
Create User Profile
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Maximum 255 characters. Accepted under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04sendexternal_user_details.reference_idinstead.minLength: 1, maxLength: 255
-
external_user_details: optional BetaUserProfileExternalUserDetailsParamsDetails about the entity this profile represents, as the platform states them. Every field is optional. Accepted under the
user-profiles-2026-09-04beta header only.-
account_status: optional "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: optional string or nullThe country of the entity (not of the platform), as the platform determines it: an ISO 3166-1 alpha-2 code in upper case, for example
US. Only the form, two uppercase ASCII letters, is checked. -
email_hash: optional string or nullA hash of the entity's email address, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
entity_type: optional "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: optional string or nullA hash of the entity's name, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
onboarded_at: optional stringA timestamp in RFC 3339 format
format: date-time
-
reference_id: optional string or nullThe platform's own reference for the entity, for example the key of the end-user's row in the platform's database. Not interpreted by Anthropic and not enforced unique. 1 to 255 characters.
minLength: 1, maxLength: 255
-
-
external_user_onboarded_at: optional stringA timestamp in RFC 3339 format
format: date-time
-
metadata: optional map[string]Free-form key-value data to attach to this user profile. Maximum 16 keys, with keys up to 64 characters and values up to 512 characters. Values must be non-empty strings.
-
name: optional string or nullOptional for all profiles. Real-world name of the entity this profile represents (company or individual); for a company the platform resells Claude access to (
access_typepassthrough), that company's name where known. Maximum 255 characters.minLength: 1, maxLength: 255
Returns
-
BetaUserProfile object-
type: "user_profile"Object type. Always
user_profile. -
id: stringUnique identifier for this user profile, prefixed
uprof_. -
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
metadata: map[string]Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
-
trust_grants: map[BetaUserProfileTrustGrant]Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Present under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04the value isexternal_user_details.reference_id. -
external_user_details: optional BetaUserProfileExternalUserDetailsDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
-
external_user_onboarded_at: optional string or nullA timestamp in RFC 3339 format
format: date-time
-
name: optional string or nullReal-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (
access_typepassthrough) this is that company's name.
-
Example
curl https://api.anthropic.com/v1/user_profiles \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: user-profiles-2026-08-18' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"external_id": "user_12345",
"external_user_onboarded_at": "2024-11-02T08:15:00Z",
"metadata": {}
}'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"
}List User Profiles
GET /v1/user_profiles
List User Profiles
Query parameters
-
limit: optional numberQuery parameter for limit
format: int32
-
order: optional "asc" or "desc"Query parameter for order
-
"asc" -
"desc"
-
-
order_by: optional "created_at" or "name"Query parameter for order_by
-
"created_at" -
"name"
-
-
page: optional stringQuery parameter for page
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
data: array of BetaUserProfileUser profiles on this page.
-
type: "user_profile"Object type. Always
user_profile. -
id: stringUnique identifier for this user profile, prefixed
uprof_. -
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
metadata: map[string]Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
-
trust_grants: map[BetaUserProfileTrustGrant]Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Present under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04the value isexternal_user_details.reference_id. -
external_user_details: optional BetaUserProfileExternalUserDetailsDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
-
external_user_onboarded_at: optional string or nullA timestamp in RFC 3339 format
format: date-time
-
name: optional string or nullReal-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (
access_typepassthrough) this is that company's name.
-
-
next_page: string or nullCursor for the next page, or
nullwhen there are no more results.
Example
curl https://api.anthropic.com/v1/user_profiles \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: user-profiles-2026-08-18' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"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"
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}Get User Profile
GET /v1/user_profiles/{user_profile_id}
Get User Profile
Path parameters
user_profile_id: string
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
BetaUserProfile object-
type: "user_profile"Object type. Always
user_profile. -
id: stringUnique identifier for this user profile, prefixed
uprof_. -
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
metadata: map[string]Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
-
trust_grants: map[BetaUserProfileTrustGrant]Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Present under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04the value isexternal_user_details.reference_id. -
external_user_details: optional BetaUserProfileExternalUserDetailsDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
-
external_user_onboarded_at: optional string or nullA timestamp in RFC 3339 format
format: date-time
-
name: optional string or nullReal-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (
access_typepassthrough) this is that company's name.
-
Example
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: user-profiles-2026-08-18' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"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"
}Update User Profile
POST /v1/user_profiles/{user_profile_id}
Update User Profile
Path parameters
user_profile_id: string
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
access_type: optional "application" or "passthrough" or nullHow the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullIf present, replaces the stored external_id. Omit to leave unchanged. Maximum 255 characters. Accepted under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04sendexternal_user_details.reference_idinstead.minLength: 1, maxLength: 255
-
external_user_details: optional BetaUserProfileExternalUserDetailsParamsDetails 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
nullis rejected. Accepted under theuser-profiles-2026-09-04beta header only.-
account_status: optional "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: optional string or nullThe country of the entity (not of the platform), as the platform determines it: an ISO 3166-1 alpha-2 code in upper case, for example
US. Only the form, two uppercase ASCII letters, is checked. -
email_hash: optional string or nullA hash of the entity's email address, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
entity_type: optional "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: optional string or nullA hash of the entity's name, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
onboarded_at: optional stringA timestamp in RFC 3339 format
format: date-time
-
reference_id: optional string or nullThe platform's own reference for the entity, for example the key of the end-user's row in the platform's database. Not interpreted by Anthropic and not enforced unique. 1 to 255 characters.
minLength: 1, maxLength: 255
-
-
external_user_onboarded_at: optional stringA timestamp in RFC 3339 format
format: date-time
-
metadata: optional map[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 or nullIf present, replaces the stored name. Omit to leave unchanged. Maximum 255 characters.
minLength: 1, maxLength: 255
Returns
-
BetaUserProfile object-
type: "user_profile"Object type. Always
user_profile. -
id: stringUnique identifier for this user profile, prefixed
uprof_. -
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
metadata: map[string]Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
-
trust_grants: map[BetaUserProfileTrustGrant]Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Present under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04the value isexternal_user_details.reference_id. -
external_user_details: optional BetaUserProfileExternalUserDetailsDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
-
external_user_onboarded_at: optional string or nullA timestamp in RFC 3339 format
format: date-time
-
name: optional string or nullReal-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (
access_typepassthrough) this is that company's name.
-
Example
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: user-profiles-2026-08-18' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"external_id": "user_12345"
}'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"
}Create Enrollment URL
POST /v1/user_profiles/{user_profile_id}/enrollment_url
Create Enrollment URL
Path parameters
user_profile_id: string
Headers
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
BetaUserProfileEnrollmentURL object-
type: "enrollment_url"Object type. Always
enrollment_url. -
expires_at: stringA timestamp in RFC 3339 format
format: date-time
-
url: stringEnrollment URL to send to the end user. Valid until
expires_at.
-
Example
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/enrollment_url \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: user-profiles-2026-08-18' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"expires_at": "2026-03-15T10:15:00Z",
"type": "enrollment_url",
"url": "https://platform.claude.com/user-profiles/enrollment/M3J0bGJxZ2ppMnptbnB1"
}Domain types
Beta User Profile
-
BetaUserProfile object-
type: "user_profile"Object type. Always
user_profile. -
id: stringUnique identifier for this user profile, prefixed
uprof_. -
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
metadata: map[string]Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
-
trust_grants: map[BetaUserProfileTrustGrant]Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
access_type: optional "application" or "passthrough"How the platform uses the API on behalf of the entity this profile represents.
application: the platform sells a product that uses the API behind the scenes, and the profile represents an individual end-user of that product.passthrough: the platform resells raw inference, and the profile identifies the resold-to company.-
"application" -
"passthrough"
-
-
external_id: optional string or nullPlatform's own identifier for this user. Not enforced unique. Present under the
user-profiles-2026-03-24anduser-profiles-2026-08-18beta headers; underuser-profiles-2026-09-04the value isexternal_user_details.reference_id. -
external_user_details: optional BetaUserProfileExternalUserDetailsDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
-
external_user_onboarded_at: optional string or nullA timestamp in RFC 3339 format
format: date-time
-
name: optional string or nullReal-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (
access_typepassthrough) this is that company's name.
-
Beta User Profile Enrollment URL
-
BetaUserProfileEnrollmentURL object-
type: "enrollment_url"Object type. Always
enrollment_url. -
expires_at: stringA timestamp in RFC 3339 format
format: date-time
-
url: stringEnrollment URL to send to the end user. Valid until
expires_at.
-
Beta User Profile External User Details
-
BetaUserProfileExternalUserDetails objectDetails about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present,
nulluntil the platform supplies a value.-
account_status: "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: string or nullThe country the platform associates with the entity, as an ISO 3166-1 alpha-2 code.
nulluntil the platform supplies one. -
email_hash: string or nullThe platform-computed hash of the entity's email address.
nulluntil the platform supplies one. -
entity_type: "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: string or nullThe platform-computed hash of the entity's name.
nulluntil the platform supplies one. -
onboarded_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
reference_id: string or nullThe platform's own reference for the entity.
nulluntil the platform supplies one.
-
Beta User Profile External User Details Params
-
BetaUserProfileExternalUserDetailsParams object-
account_status: optional "active" or "suspended" or "blocked" or nullThe status of the entity's account on the platform, as the platform states it:
active;suspended, when the platform has restricted the account and may restore it; orblocked, when the platform has barred it. It records the platform's decision only; the statuses intrust_grantsare Anthropic's and do not follow it.-
"active" -
"suspended" -
"blocked"
-
-
country: optional string or nullThe country of the entity (not of the platform), as the platform determines it: an ISO 3166-1 alpha-2 code in upper case, for example
US. Only the form, two uppercase ASCII letters, is checked. -
email_hash: optional string or nullA hash of the entity's email address, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
entity_type: optional "individual" or "business" or "non_profit" or "government" or nullWhat kind of entity the profile represents, as the platform states it:
individual,business,non_profitorgovernment.-
"individual" -
"business" -
"non_profit" -
"government"
-
-
name_hash: optional string or nullA hash of the entity's name, computed by the platform. Anthropic treats it as an opaque string and does not prescribe the hash function. 1 to 255 characters.
minLength: 1, maxLength: 255
-
onboarded_at: optional stringA timestamp in RFC 3339 format
format: date-time
-
reference_id: optional string or nullThe platform's own reference for the entity, for example the key of the end-user's row in the platform's database. Not interpreted by Anthropic and not enforced unique. 1 to 255 characters.
minLength: 1, maxLength: 255
-
Beta User Profile Trust Grant
-
BetaUserProfileTrustGrant object-
status: "active" or "pending" or "rejected"Status of the trust grant.
-
"active" -
"pending" -
"rejected"
-
-