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 42 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"
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 objecttype: "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 42 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"
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 42 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"
Returns
BetaUserProfile objecttype: "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 42 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"
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 objecttype: "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 42 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"
Returns
BetaUserProfileEnrollmentURL objecttype: "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 objecttype: "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 objecttype: "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 objectaccount_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 objectstatus: "active" or "pending" or "rejected"Status of the trust grant.
"active""pending""rejected"