Repository Public
1---2title: User Profiles3url: https://platform.claude.com/docs/en/api/beta/user_profiles4---56# User Profiles78## Create User Profile910**POST** `/v1/user_profiles`1112Create User Profile1314### Headers1516- `"anthropic-beta": optional array of AnthropicBeta`1718 Optional header to specify the beta version(s) you want to use.1920 - `string`2122 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`2324 - `"message-batches-2024-09-24"`2526 - `"prompt-caching-2024-07-31"`2728 - `"computer-use-2024-10-22"`2930 - `"computer-use-2025-01-24"`3132 - `"pdfs-2024-09-25"`3334 - `"token-counting-2024-11-01"`3536 - `"token-efficient-tools-2025-02-19"`3738 - `"output-128k-2025-02-19"`3940 - `"files-api-2025-04-14"`4142 - `"mcp-client-2025-04-04"`4344 - `"mcp-client-2025-11-20"`4546 - `"dev-full-thinking-2025-05-14"`4748 - `"interleaved-thinking-2025-05-14"`4950 - `"code-execution-2025-05-22"`5152 - `"extended-cache-ttl-2025-04-11"`5354 - `"context-1m-2025-08-07"`5556 - `"context-management-2025-06-27"`5758 - `"model-context-window-exceeded-2025-08-26"`5960 - `"skills-2025-10-02"`6162 - `"fast-mode-2026-02-01"`6364 - `"output-300k-2026-03-24"`6566 - `"user-profiles-2026-03-24"`6768 - `"user-profiles-2026-08-18"`6970 - `"user-profiles-2026-09-04"`7172 - `"advisor-tool-2026-03-01"`7374 - `"managed-agents-2026-04-01"`7576 - `"cache-diagnosis-2026-04-07"`7778 - `"dreaming-2026-04-21"`7980 - `"thinking-token-count-2026-05-13"`8182 - `"server-side-fallback-2026-06-01"`8384 - `"server-side-fallback-2026-07-01"`8586 - `"fallback-credit-2026-06-01"`8788 - `"fallback-credit-2026-07-01"`8990 - `"agent-memory-2026-07-22"`9192 - `"mid-conversation-tool-changes-2026-07-01"`9394 - `"compact-2026-01-12"`9596 - `"computer-use-2025-11-24"`9798 - `"mcp-tunnels-2026-06-22"`99100 - `"structured-outputs-2025-11-13"`101102 - `"task-budgets-2026-03-13"`103104 - `"thinking-display-updates-2026-08-18"`105106 - `"ce-user-management-2026-07-13"`107108 - `"mid-conversation-output-config-2026-07-01"`109110 - `"thinking-binding-controls-2026-08-01"`111112 - `"mid-conversation-system-clear-at-2026-08-21"`113114 - `"compact-2026-09-04"`115116- `"anthropic-workspace-id": optional string`117118### Body parameters119120- `access_type: optional "application" or "passthrough"`121122 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.123124 - `"application"`125126 - `"passthrough"`127128- `external_id: optional string or null`129130 Platform's own identifier for this user. Not enforced unique. 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.131132 minLength: 1, maxLength: 255133134- `external_user_details: optional BetaUserProfileExternalUserDetailsParams`135136 Details about the entity this profile represents, as the platform states them. Every field is optional. Accepted under the `user-profiles-2026-09-04` beta header only.137138 - `account_status: optional "active" or "suspended" or "blocked" or null`139140 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.141142 - `"active"`143144 - `"suspended"`145146 - `"blocked"`147148 - `country: optional string or null`149150 The 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.151152 - `email_hash: optional string or null`153154 A 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.155156 minLength: 1, maxLength: 255157158 - `entity_type: optional "individual" or "business" or "non_profit" or "government" or null`159160 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.161162 - `"individual"`163164 - `"business"`165166 - `"non_profit"`167168 - `"government"`169170 - `name_hash: optional string or null`171172 A 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.173174 minLength: 1, maxLength: 255175176 - `onboarded_at: optional string`177178 A timestamp in RFC 3339 format179180 format: date-time181182 - `reference_id: optional string or null`183184 The 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.185186 minLength: 1, maxLength: 255187188- `external_user_onboarded_at: optional string`189190 A timestamp in RFC 3339 format191192 format: date-time193194- `metadata: optional map[string]`195196 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.197198- `name: optional string or null`199200 Optional 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_type` `passthrough`), that company's name where known. Maximum 255 characters.201202 minLength: 1, maxLength: 255203204### Returns205206- `BetaUserProfile object`207208 - `type: "user_profile"`209210 Object type. Always `user_profile`.211212 - `id: string`213214 Unique identifier for this user profile, prefixed `uprof_`.215216 - `created_at: string`217218 A timestamp in RFC 3339 format219220 format: date-time221222 - `metadata: map[string]`223224 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.225226 - `trust_grants: map[BetaUserProfileTrustGrant]`227228 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.229230 - `status: "active" or "pending" or "rejected"`231232 Status of the trust grant.233234 - `"active"`235236 - `"pending"`237238 - `"rejected"`239240 - `updated_at: string`241242 A timestamp in RFC 3339 format243244 format: date-time245246 - `access_type: optional "application" or "passthrough"`247248 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.249250 - `"application"`251252 - `"passthrough"`253254 - `external_id: optional string or null`255256 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.257258 - `external_user_details: optional BetaUserProfileExternalUserDetails`259260 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.261262 - `account_status: "active" or "suspended" or "blocked" or null`263264 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.265266 - `"active"`267268 - `"suspended"`269270 - `"blocked"`271272 - `country: string or null`273274 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.275276 - `email_hash: string or null`277278 The platform-computed hash of the entity's email address. `null` until the platform supplies one.279280 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`281282 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.283284 - `"individual"`285286 - `"business"`287288 - `"non_profit"`289290 - `"government"`291292 - `name_hash: string or null`293294 The platform-computed hash of the entity's name. `null` until the platform supplies one.295296 - `onboarded_at: string or null`297298 A timestamp in RFC 3339 format299300 format: date-time301302 - `reference_id: string or null`303304 The platform's own reference for the entity. `null` until the platform supplies one.305306 - `external_user_onboarded_at: optional string or null`307308 A timestamp in RFC 3339 format309310 format: date-time311312 - `name: optional string or null`313314 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.315316### Example317318```bash319curl https://api.anthropic.com/v1/user_profiles \320 -H 'Content-Type: application/json' \321 -H 'anthropic-version: 2023-06-01' \322 -H 'anthropic-beta: user-profiles-2026-08-18' \323 -H "X-Api-Key: $ANTHROPIC_API_KEY" \324 -d '{325 "external_id": "user_12345",326 "external_user_onboarded_at": "2024-11-02T08:15:00Z",327 "metadata": {}328 }'329```330331#### Response (200)332333```json334{335 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",336 "created_at": "2026-03-15T10:00:00Z",337 "metadata": {},338 "trust_grants": {339 "cyber": {340 "status": "active"341 }342 },343 "type": "user_profile",344 "updated_at": "2026-03-15T10:00:00Z",345 "access_type": "application",346 "external_id": "user_12345",347 "external_user_details": {348 "account_status": "active",349 "country": "country",350 "email_hash": "email_hash",351 "entity_type": "individual",352 "name_hash": "name_hash",353 "onboarded_at": "2019-12-27T18:11:19.117Z",354 "reference_id": "reference_id"355 },356 "external_user_onboarded_at": "2024-11-02T08:15:00Z",357 "name": "Example User"358}359```360361## List User Profiles362363**GET** `/v1/user_profiles`364365List User Profiles366367### Query parameters368369- `limit: optional number`370371 Query parameter for limit372373 format: int32374375- `order: optional "asc" or "desc"`376377 Query parameter for order378379 - `"asc"`380381 - `"desc"`382383- `order_by: optional "created_at" or "name"`384385 Query parameter for order_by386387 - `"created_at"`388389 - `"name"`390391- `page: optional string`392393 Query parameter for page394395### Headers396397- `"anthropic-beta": optional array of AnthropicBeta`398399 Optional header to specify the beta version(s) you want to use.400401 - `string`402403 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`404405 - `"message-batches-2024-09-24"`406407 - `"prompt-caching-2024-07-31"`408409 - `"computer-use-2024-10-22"`410411 - `"computer-use-2025-01-24"`412413 - `"pdfs-2024-09-25"`414415 - `"token-counting-2024-11-01"`416417 - `"token-efficient-tools-2025-02-19"`418419 - `"output-128k-2025-02-19"`420421 - `"files-api-2025-04-14"`422423 - `"mcp-client-2025-04-04"`424425 - `"mcp-client-2025-11-20"`426427 - `"dev-full-thinking-2025-05-14"`428429 - `"interleaved-thinking-2025-05-14"`430431 - `"code-execution-2025-05-22"`432433 - `"extended-cache-ttl-2025-04-11"`434435 - `"context-1m-2025-08-07"`436437 - `"context-management-2025-06-27"`438439 - `"model-context-window-exceeded-2025-08-26"`440441 - `"skills-2025-10-02"`442443 - `"fast-mode-2026-02-01"`444445 - `"output-300k-2026-03-24"`446447 - `"user-profiles-2026-03-24"`448449 - `"user-profiles-2026-08-18"`450451 - `"user-profiles-2026-09-04"`452453 - `"advisor-tool-2026-03-01"`454455 - `"managed-agents-2026-04-01"`456457 - `"cache-diagnosis-2026-04-07"`458459 - `"dreaming-2026-04-21"`460461 - `"thinking-token-count-2026-05-13"`462463 - `"server-side-fallback-2026-06-01"`464465 - `"server-side-fallback-2026-07-01"`466467 - `"fallback-credit-2026-06-01"`468469 - `"fallback-credit-2026-07-01"`470471 - `"agent-memory-2026-07-22"`472473 - `"mid-conversation-tool-changes-2026-07-01"`474475 - `"compact-2026-01-12"`476477 - `"computer-use-2025-11-24"`478479 - `"mcp-tunnels-2026-06-22"`480481 - `"structured-outputs-2025-11-13"`482483 - `"task-budgets-2026-03-13"`484485 - `"thinking-display-updates-2026-08-18"`486487 - `"ce-user-management-2026-07-13"`488489 - `"mid-conversation-output-config-2026-07-01"`490491 - `"thinking-binding-controls-2026-08-01"`492493 - `"mid-conversation-system-clear-at-2026-08-21"`494495 - `"compact-2026-09-04"`496497- `"anthropic-workspace-id": optional string`498499### Returns500501- `data: array of BetaUserProfile`502503 User profiles on this page.504505 - `type: "user_profile"`506507 Object type. Always `user_profile`.508509 - `id: string`510511 Unique identifier for this user profile, prefixed `uprof_`.512513 - `created_at: string`514515 A timestamp in RFC 3339 format516517 format: date-time518519 - `metadata: map[string]`520521 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.522523 - `trust_grants: map[BetaUserProfileTrustGrant]`524525 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.526527 - `status: "active" or "pending" or "rejected"`528529 Status of the trust grant.530531 - `"active"`532533 - `"pending"`534535 - `"rejected"`536537 - `updated_at: string`538539 A timestamp in RFC 3339 format540541 format: date-time542543 - `access_type: optional "application" or "passthrough"`544545 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.546547 - `"application"`548549 - `"passthrough"`550551 - `external_id: optional string or null`552553 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.554555 - `external_user_details: optional BetaUserProfileExternalUserDetails`556557 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.558559 - `account_status: "active" or "suspended" or "blocked" or null`560561 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.562563 - `"active"`564565 - `"suspended"`566567 - `"blocked"`568569 - `country: string or null`570571 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.572573 - `email_hash: string or null`574575 The platform-computed hash of the entity's email address. `null` until the platform supplies one.576577 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`578579 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.580581 - `"individual"`582583 - `"business"`584585 - `"non_profit"`586587 - `"government"`588589 - `name_hash: string or null`590591 The platform-computed hash of the entity's name. `null` until the platform supplies one.592593 - `onboarded_at: string or null`594595 A timestamp in RFC 3339 format596597 format: date-time598599 - `reference_id: string or null`600601 The platform's own reference for the entity. `null` until the platform supplies one.602603 - `external_user_onboarded_at: optional string or null`604605 A timestamp in RFC 3339 format606607 format: date-time608609 - `name: optional string or null`610611 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.612613- `next_page: string or null`614615 Cursor for the next page, or `null` when there are no more results.616617### Example618619```bash620curl https://api.anthropic.com/v1/user_profiles \621 -H 'anthropic-version: 2023-06-01' \622 -H 'anthropic-beta: user-profiles-2026-08-18' \623 -H "X-Api-Key: $ANTHROPIC_API_KEY"624```625626#### Response (200)627628```json629{630 "data": [631 {632 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",633 "created_at": "2026-03-15T10:00:00Z",634 "metadata": {},635 "trust_grants": {636 "cyber": {637 "status": "active"638 }639 },640 "type": "user_profile",641 "updated_at": "2026-03-15T10:00:00Z",642 "access_type": "application",643 "external_id": "user_12345",644 "external_user_details": {645 "account_status": "active",646 "country": "country",647 "email_hash": "email_hash",648 "entity_type": "individual",649 "name_hash": "name_hash",650 "onboarded_at": "2019-12-27T18:11:19.117Z",651 "reference_id": "reference_id"652 },653 "external_user_onboarded_at": "2024-11-02T08:15:00Z",654 "name": "Example User"655 }656 ],657 "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="658}659```660661## Get User Profile662663**GET** `/v1/user_profiles/{user_profile_id}`664665Get User Profile666667### Path parameters668669- `user_profile_id: string`670671### Headers672673- `"anthropic-beta": optional array of AnthropicBeta`674675 Optional header to specify the beta version(s) you want to use.676677 - `string`678679 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`680681 - `"message-batches-2024-09-24"`682683 - `"prompt-caching-2024-07-31"`684685 - `"computer-use-2024-10-22"`686687 - `"computer-use-2025-01-24"`688689 - `"pdfs-2024-09-25"`690691 - `"token-counting-2024-11-01"`692693 - `"token-efficient-tools-2025-02-19"`694695 - `"output-128k-2025-02-19"`696697 - `"files-api-2025-04-14"`698699 - `"mcp-client-2025-04-04"`700701 - `"mcp-client-2025-11-20"`702703 - `"dev-full-thinking-2025-05-14"`704705 - `"interleaved-thinking-2025-05-14"`706707 - `"code-execution-2025-05-22"`708709 - `"extended-cache-ttl-2025-04-11"`710711 - `"context-1m-2025-08-07"`712713 - `"context-management-2025-06-27"`714715 - `"model-context-window-exceeded-2025-08-26"`716717 - `"skills-2025-10-02"`718719 - `"fast-mode-2026-02-01"`720721 - `"output-300k-2026-03-24"`722723 - `"user-profiles-2026-03-24"`724725 - `"user-profiles-2026-08-18"`726727 - `"user-profiles-2026-09-04"`728729 - `"advisor-tool-2026-03-01"`730731 - `"managed-agents-2026-04-01"`732733 - `"cache-diagnosis-2026-04-07"`734735 - `"dreaming-2026-04-21"`736737 - `"thinking-token-count-2026-05-13"`738739 - `"server-side-fallback-2026-06-01"`740741 - `"server-side-fallback-2026-07-01"`742743 - `"fallback-credit-2026-06-01"`744745 - `"fallback-credit-2026-07-01"`746747 - `"agent-memory-2026-07-22"`748749 - `"mid-conversation-tool-changes-2026-07-01"`750751 - `"compact-2026-01-12"`752753 - `"computer-use-2025-11-24"`754755 - `"mcp-tunnels-2026-06-22"`756757 - `"structured-outputs-2025-11-13"`758759 - `"task-budgets-2026-03-13"`760761 - `"thinking-display-updates-2026-08-18"`762763 - `"ce-user-management-2026-07-13"`764765 - `"mid-conversation-output-config-2026-07-01"`766767 - `"thinking-binding-controls-2026-08-01"`768769 - `"mid-conversation-system-clear-at-2026-08-21"`770771 - `"compact-2026-09-04"`772773- `"anthropic-workspace-id": optional string`774775### Returns776777- `BetaUserProfile object`778779 - `type: "user_profile"`780781 Object type. Always `user_profile`.782783 - `id: string`784785 Unique identifier for this user profile, prefixed `uprof_`.786787 - `created_at: string`788789 A timestamp in RFC 3339 format790791 format: date-time792793 - `metadata: map[string]`794795 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.796797 - `trust_grants: map[BetaUserProfileTrustGrant]`798799 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.800801 - `status: "active" or "pending" or "rejected"`802803 Status of the trust grant.804805 - `"active"`806807 - `"pending"`808809 - `"rejected"`810811 - `updated_at: string`812813 A timestamp in RFC 3339 format814815 format: date-time816817 - `access_type: optional "application" or "passthrough"`818819 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.820821 - `"application"`822823 - `"passthrough"`824825 - `external_id: optional string or null`826827 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.828829 - `external_user_details: optional BetaUserProfileExternalUserDetails`830831 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.832833 - `account_status: "active" or "suspended" or "blocked" or null`834835 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.836837 - `"active"`838839 - `"suspended"`840841 - `"blocked"`842843 - `country: string or null`844845 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.846847 - `email_hash: string or null`848849 The platform-computed hash of the entity's email address. `null` until the platform supplies one.850851 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`852853 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.854855 - `"individual"`856857 - `"business"`858859 - `"non_profit"`860861 - `"government"`862863 - `name_hash: string or null`864865 The platform-computed hash of the entity's name. `null` until the platform supplies one.866867 - `onboarded_at: string or null`868869 A timestamp in RFC 3339 format870871 format: date-time872873 - `reference_id: string or null`874875 The platform's own reference for the entity. `null` until the platform supplies one.876877 - `external_user_onboarded_at: optional string or null`878879 A timestamp in RFC 3339 format880881 format: date-time882883 - `name: optional string or null`884885 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.886887### Example888889```bash890curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \891 -H 'anthropic-version: 2023-06-01' \892 -H 'anthropic-beta: user-profiles-2026-08-18' \893 -H "X-Api-Key: $ANTHROPIC_API_KEY"894```895896#### Response (200)897898```json899{900 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",901 "created_at": "2026-03-15T10:00:00Z",902 "metadata": {},903 "trust_grants": {904 "cyber": {905 "status": "active"906 }907 },908 "type": "user_profile",909 "updated_at": "2026-03-15T10:00:00Z",910 "access_type": "application",911 "external_id": "user_12345",912 "external_user_details": {913 "account_status": "active",914 "country": "country",915 "email_hash": "email_hash",916 "entity_type": "individual",917 "name_hash": "name_hash",918 "onboarded_at": "2019-12-27T18:11:19.117Z",919 "reference_id": "reference_id"920 },921 "external_user_onboarded_at": "2024-11-02T08:15:00Z",922 "name": "Example User"923}924```925926## Update User Profile927928**POST** `/v1/user_profiles/{user_profile_id}`929930Update User Profile931932### Path parameters933934- `user_profile_id: string`935936### Headers937938- `"anthropic-beta": optional array of AnthropicBeta`939940 Optional header to specify the beta version(s) you want to use.941942 - `string`943944 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`945946 - `"message-batches-2024-09-24"`947948 - `"prompt-caching-2024-07-31"`949950 - `"computer-use-2024-10-22"`951952 - `"computer-use-2025-01-24"`953954 - `"pdfs-2024-09-25"`955956 - `"token-counting-2024-11-01"`957958 - `"token-efficient-tools-2025-02-19"`959960 - `"output-128k-2025-02-19"`961962 - `"files-api-2025-04-14"`963964 - `"mcp-client-2025-04-04"`965966 - `"mcp-client-2025-11-20"`967968 - `"dev-full-thinking-2025-05-14"`969970 - `"interleaved-thinking-2025-05-14"`971972 - `"code-execution-2025-05-22"`973974 - `"extended-cache-ttl-2025-04-11"`975976 - `"context-1m-2025-08-07"`977978 - `"context-management-2025-06-27"`979980 - `"model-context-window-exceeded-2025-08-26"`981982 - `"skills-2025-10-02"`983984 - `"fast-mode-2026-02-01"`985986 - `"output-300k-2026-03-24"`987988 - `"user-profiles-2026-03-24"`989990 - `"user-profiles-2026-08-18"`991992 - `"user-profiles-2026-09-04"`993994 - `"advisor-tool-2026-03-01"`995996 - `"managed-agents-2026-04-01"`997998 - `"cache-diagnosis-2026-04-07"`9991000 - `"dreaming-2026-04-21"`10011002 - `"thinking-token-count-2026-05-13"`10031004 - `"server-side-fallback-2026-06-01"`10051006 - `"server-side-fallback-2026-07-01"`10071008 - `"fallback-credit-2026-06-01"`10091010 - `"fallback-credit-2026-07-01"`10111012 - `"agent-memory-2026-07-22"`10131014 - `"mid-conversation-tool-changes-2026-07-01"`10151016 - `"compact-2026-01-12"`10171018 - `"computer-use-2025-11-24"`10191020 - `"mcp-tunnels-2026-06-22"`10211022 - `"structured-outputs-2025-11-13"`10231024 - `"task-budgets-2026-03-13"`10251026 - `"thinking-display-updates-2026-08-18"`10271028 - `"ce-user-management-2026-07-13"`10291030 - `"mid-conversation-output-config-2026-07-01"`10311032 - `"thinking-binding-controls-2026-08-01"`10331034 - `"mid-conversation-system-clear-at-2026-08-21"`10351036 - `"compact-2026-09-04"`10371038- `"anthropic-workspace-id": optional string`10391040### Body parameters10411042- `access_type: optional "application" or "passthrough" or null`10431044 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.10451046 - `"application"`10471048 - `"passthrough"`10491050- `external_id: optional string or null`10511052 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.10531054 minLength: 1, maxLength: 25510551056- `external_user_details: optional BetaUserProfileExternalUserDetailsParams`10571058 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.10591060 - `account_status: optional "active" or "suspended" or "blocked" or null`10611062 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.10631064 - `"active"`10651066 - `"suspended"`10671068 - `"blocked"`10691070 - `country: optional string or null`10711072 The 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.10731074 - `email_hash: optional string or null`10751076 A 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.10771078 minLength: 1, maxLength: 25510791080 - `entity_type: optional "individual" or "business" or "non_profit" or "government" or null`10811082 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.10831084 - `"individual"`10851086 - `"business"`10871088 - `"non_profit"`10891090 - `"government"`10911092 - `name_hash: optional string or null`10931094 A 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.10951096 minLength: 1, maxLength: 25510971098 - `onboarded_at: optional string`10991100 A timestamp in RFC 3339 format11011102 format: date-time11031104 - `reference_id: optional string or null`11051106 The 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.11071108 minLength: 1, maxLength: 25511091110- `external_user_onboarded_at: optional string`11111112 A timestamp in RFC 3339 format11131114 format: date-time11151116- `metadata: optional map[string]`11171118 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.11191120- `name: optional string or null`11211122 If present, replaces the stored name. Omit to leave unchanged. Maximum 255 characters.11231124 minLength: 1, maxLength: 25511251126### Returns11271128- `BetaUserProfile object`11291130 - `type: "user_profile"`11311132 Object type. Always `user_profile`.11331134 - `id: string`11351136 Unique identifier for this user profile, prefixed `uprof_`.11371138 - `created_at: string`11391140 A timestamp in RFC 3339 format11411142 format: date-time11431144 - `metadata: map[string]`11451146 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.11471148 - `trust_grants: map[BetaUserProfileTrustGrant]`11491150 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.11511152 - `status: "active" or "pending" or "rejected"`11531154 Status of the trust grant.11551156 - `"active"`11571158 - `"pending"`11591160 - `"rejected"`11611162 - `updated_at: string`11631164 A timestamp in RFC 3339 format11651166 format: date-time11671168 - `access_type: optional "application" or "passthrough"`11691170 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.11711172 - `"application"`11731174 - `"passthrough"`11751176 - `external_id: optional string or null`11771178 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.11791180 - `external_user_details: optional BetaUserProfileExternalUserDetails`11811182 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.11831184 - `account_status: "active" or "suspended" or "blocked" or null`11851186 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.11871188 - `"active"`11891190 - `"suspended"`11911192 - `"blocked"`11931194 - `country: string or null`11951196 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.11971198 - `email_hash: string or null`11991200 The platform-computed hash of the entity's email address. `null` until the platform supplies one.12011202 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`12031204 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.12051206 - `"individual"`12071208 - `"business"`12091210 - `"non_profit"`12111212 - `"government"`12131214 - `name_hash: string or null`12151216 The platform-computed hash of the entity's name. `null` until the platform supplies one.12171218 - `onboarded_at: string or null`12191220 A timestamp in RFC 3339 format12211222 format: date-time12231224 - `reference_id: string or null`12251226 The platform's own reference for the entity. `null` until the platform supplies one.12271228 - `external_user_onboarded_at: optional string or null`12291230 A timestamp in RFC 3339 format12311232 format: date-time12331234 - `name: optional string or null`12351236 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.12371238### Example12391240```bash1241curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \1242 -H 'Content-Type: application/json' \1243 -H 'anthropic-version: 2023-06-01' \1244 -H 'anthropic-beta: user-profiles-2026-08-18' \1245 -H "X-Api-Key: $ANTHROPIC_API_KEY" \1246 -d '{1247 "external_id": "user_12345"1248 }'1249```12501251#### Response (200)12521253```json1254{1255 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",1256 "created_at": "2026-03-15T10:00:00Z",1257 "metadata": {},1258 "trust_grants": {1259 "cyber": {1260 "status": "active"1261 }1262 },1263 "type": "user_profile",1264 "updated_at": "2026-03-15T10:00:00Z",1265 "access_type": "application",1266 "external_id": "user_12345",1267 "external_user_details": {1268 "account_status": "active",1269 "country": "country",1270 "email_hash": "email_hash",1271 "entity_type": "individual",1272 "name_hash": "name_hash",1273 "onboarded_at": "2019-12-27T18:11:19.117Z",1274 "reference_id": "reference_id"1275 },1276 "external_user_onboarded_at": "2024-11-02T08:15:00Z",1277 "name": "Example User"1278}1279```12801281## Create Enrollment URL12821283**POST** `/v1/user_profiles/{user_profile_id}/enrollment_url`12841285Create Enrollment URL12861287### Path parameters12881289- `user_profile_id: string`12901291### Headers12921293- `"anthropic-beta": optional array of AnthropicBeta`12941295 Optional header to specify the beta version(s) you want to use.12961297 - `string`12981299 - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 43 more`13001301 - `"message-batches-2024-09-24"`13021303 - `"prompt-caching-2024-07-31"`13041305 - `"computer-use-2024-10-22"`13061307 - `"computer-use-2025-01-24"`13081309 - `"pdfs-2024-09-25"`13101311 - `"token-counting-2024-11-01"`13121313 - `"token-efficient-tools-2025-02-19"`13141315 - `"output-128k-2025-02-19"`13161317 - `"files-api-2025-04-14"`13181319 - `"mcp-client-2025-04-04"`13201321 - `"mcp-client-2025-11-20"`13221323 - `"dev-full-thinking-2025-05-14"`13241325 - `"interleaved-thinking-2025-05-14"`13261327 - `"code-execution-2025-05-22"`13281329 - `"extended-cache-ttl-2025-04-11"`13301331 - `"context-1m-2025-08-07"`13321333 - `"context-management-2025-06-27"`13341335 - `"model-context-window-exceeded-2025-08-26"`13361337 - `"skills-2025-10-02"`13381339 - `"fast-mode-2026-02-01"`13401341 - `"output-300k-2026-03-24"`13421343 - `"user-profiles-2026-03-24"`13441345 - `"user-profiles-2026-08-18"`13461347 - `"user-profiles-2026-09-04"`13481349 - `"advisor-tool-2026-03-01"`13501351 - `"managed-agents-2026-04-01"`13521353 - `"cache-diagnosis-2026-04-07"`13541355 - `"dreaming-2026-04-21"`13561357 - `"thinking-token-count-2026-05-13"`13581359 - `"server-side-fallback-2026-06-01"`13601361 - `"server-side-fallback-2026-07-01"`13621363 - `"fallback-credit-2026-06-01"`13641365 - `"fallback-credit-2026-07-01"`13661367 - `"agent-memory-2026-07-22"`13681369 - `"mid-conversation-tool-changes-2026-07-01"`13701371 - `"compact-2026-01-12"`13721373 - `"computer-use-2025-11-24"`13741375 - `"mcp-tunnels-2026-06-22"`13761377 - `"structured-outputs-2025-11-13"`13781379 - `"task-budgets-2026-03-13"`13801381 - `"thinking-display-updates-2026-08-18"`13821383 - `"ce-user-management-2026-07-13"`13841385 - `"mid-conversation-output-config-2026-07-01"`13861387 - `"thinking-binding-controls-2026-08-01"`13881389 - `"mid-conversation-system-clear-at-2026-08-21"`13901391 - `"compact-2026-09-04"`13921393- `"anthropic-workspace-id": optional string`13941395### Returns13961397- `BetaUserProfileEnrollmentURL object`13981399 - `type: "enrollment_url"`14001401 Object type. Always `enrollment_url`.14021403 - `expires_at: string`14041405 A timestamp in RFC 3339 format14061407 format: date-time14081409 - `url: string`14101411 Enrollment URL to send to the end user. Valid until `expires_at`.14121413### Example14141415```bash1416curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/enrollment_url \1417 -X POST \1418 -H 'anthropic-version: 2023-06-01' \1419 -H 'anthropic-beta: user-profiles-2026-08-18' \1420 -H "X-Api-Key: $ANTHROPIC_API_KEY"1421```14221423#### Response (200)14241425```json1426{1427 "expires_at": "2026-03-15T10:15:00Z",1428 "type": "enrollment_url",1429 "url": "https://platform.claude.com/user-profiles/enrollment/M3J0bGJxZ2ppMnptbnB1"1430}1431```14321433## Domain types14341435### Beta User Profile14361437- `BetaUserProfile object`14381439 - `type: "user_profile"`14401441 Object type. Always `user_profile`.14421443 - `id: string`14441445 Unique identifier for this user profile, prefixed `uprof_`.14461447 - `created_at: string`14481449 A timestamp in RFC 3339 format14501451 format: date-time14521453 - `metadata: map[string]`14541455 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.14561457 - `trust_grants: map[BetaUserProfileTrustGrant]`14581459 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.14601461 - `status: "active" or "pending" or "rejected"`14621463 Status of the trust grant.14641465 - `"active"`14661467 - `"pending"`14681469 - `"rejected"`14701471 - `updated_at: string`14721473 A timestamp in RFC 3339 format14741475 format: date-time14761477 - `access_type: optional "application" or "passthrough"`14781479 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.14801481 - `"application"`14821483 - `"passthrough"`14841485 - `external_id: optional string or null`14861487 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.14881489 - `external_user_details: optional BetaUserProfileExternalUserDetails`14901491 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.14921493 - `account_status: "active" or "suspended" or "blocked" or null`14941495 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.14961497 - `"active"`14981499 - `"suspended"`15001501 - `"blocked"`15021503 - `country: string or null`15041505 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.15061507 - `email_hash: string or null`15081509 The platform-computed hash of the entity's email address. `null` until the platform supplies one.15101511 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`15121513 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.15141515 - `"individual"`15161517 - `"business"`15181519 - `"non_profit"`15201521 - `"government"`15221523 - `name_hash: string or null`15241525 The platform-computed hash of the entity's name. `null` until the platform supplies one.15261527 - `onboarded_at: string or null`15281529 A timestamp in RFC 3339 format15301531 format: date-time15321533 - `reference_id: string or null`15341535 The platform's own reference for the entity. `null` until the platform supplies one.15361537 - `external_user_onboarded_at: optional string or null`15381539 A timestamp in RFC 3339 format15401541 format: date-time15421543 - `name: optional string or null`15441545 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.15461547### Beta User Profile Enrollment URL15481549- `BetaUserProfileEnrollmentURL object`15501551 - `type: "enrollment_url"`15521553 Object type. Always `enrollment_url`.15541555 - `expires_at: string`15561557 A timestamp in RFC 3339 format15581559 format: date-time15601561 - `url: string`15621563 Enrollment URL to send to the end user. Valid until `expires_at`.15641565### Beta User Profile External User Details15661567- `BetaUserProfileExternalUserDetails object`15681569 Details about the entity this profile represents, as the platform states them. Anthropic does not verify them. Every field is present, `null` until the platform supplies a value.15701571 - `account_status: "active" or "suspended" or "blocked" or null`15721573 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.15741575 - `"active"`15761577 - `"suspended"`15781579 - `"blocked"`15801581 - `country: string or null`15821583 The country the platform associates with the entity, as an ISO 3166-1 alpha-2 code. `null` until the platform supplies one.15841585 - `email_hash: string or null`15861587 The platform-computed hash of the entity's email address. `null` until the platform supplies one.15881589 - `entity_type: "individual" or "business" or "non_profit" or "government" or null`15901591 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.15921593 - `"individual"`15941595 - `"business"`15961597 - `"non_profit"`15981599 - `"government"`16001601 - `name_hash: string or null`16021603 The platform-computed hash of the entity's name. `null` until the platform supplies one.16041605 - `onboarded_at: string or null`16061607 A timestamp in RFC 3339 format16081609 format: date-time16101611 - `reference_id: string or null`16121613 The platform's own reference for the entity. `null` until the platform supplies one.16141615### Beta User Profile External User Details Params16161617- `BetaUserProfileExternalUserDetailsParams object`16181619 - `account_status: optional "active" or "suspended" or "blocked" or null`16201621 The 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; or `blocked`, when the platform has barred it. It records the platform's decision only; the statuses in `trust_grants` are Anthropic's and do not follow it.16221623 - `"active"`16241625 - `"suspended"`16261627 - `"blocked"`16281629 - `country: optional string or null`16301631 The 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.16321633 - `email_hash: optional string or null`16341635 A 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.16361637 minLength: 1, maxLength: 25516381639 - `entity_type: optional "individual" or "business" or "non_profit" or "government" or null`16401641 What kind of entity the profile represents, as the platform states it: `individual`, `business`, `non_profit` or `government`.16421643 - `"individual"`16441645 - `"business"`16461647 - `"non_profit"`16481649 - `"government"`16501651 - `name_hash: optional string or null`16521653 A 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.16541655 minLength: 1, maxLength: 25516561657 - `onboarded_at: optional string`16581659 A timestamp in RFC 3339 format16601661 format: date-time16621663 - `reference_id: optional string or null`16641665 The 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.16661667 minLength: 1, maxLength: 25516681669### Beta User Profile Trust Grant16701671- `BetaUserProfileTrustGrant object`16721673 - `status: "active" or "pending" or "rejected"`16741675 Status of the trust grant.16761677 - `"active"`16781679 - `"pending"`16801681 - `"rejected"`1682