The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.
from line 143
143143
144144 format: date-time
145145
146 - `enforcement_actions: array of UserProfileEnforcementAction`
147
148 The enforcement actions open on this profile; empty when none is open. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
149
150 - `UserProfileEnforcementActionRestriction object`
151
152 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
153
154 - `type: "restriction"`
155
156 - `id: string`
157
158 The action's ID (`enac_...`), stable while the action is open.
159
160 - `action: UserProfileEnforcementActionNextStep or null`
161
162 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
163
164 - `expires_at: string or null`
165
166 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
167
168 format: date-time
169
170 - `opened_at: string`
171
172 When Anthropic opened the action, in RFC 3339 format.
173
174 format: date-time
175
176 - `reason: UserProfileEnforcementActionReason`
177
178 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
179
180 - `"unsupported_region"`
181
182 - `"fraud_or_abuse"`
183
184 - `"high_harm"`
185
186 - `"usage_policy_violation"`
187
188 - `"account_compromise"`
189
190 - `"unspecified"`
191
192 - `UserProfileEnforcementActionBan object`
193
194 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
195
196 - `type: "ban"`
197
198 - `id: string`
199
200 The action's ID (`enac_...`), stable while the action is open.
201
202 - `action: UserProfileEnforcementActionNextStep or null`
203
204 Always `null`: the end user cannot clear a ban.
205
206 - `expires_at: string or null`
207
208 Always `null`: a ban has no end date.
209
210 format: date-time
211
212 - `opened_at: string`
213
214 When Anthropic opened the action, in RFC 3339 format.
215
216 format: date-time
217
218 - `reason: UserProfileEnforcementActionReason`
219
220 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
221
222 - `enforcement_status: UserProfileEnforcementStatus`
223
224 Anthropic's enforcement status of this profile, from its open enforcement actions and any identity check under review, by the first rule that applies: `banned` while any open action is a `ban`; `pending` while a restriction that an identity check can clear is open, the end user has submitted that check, Anthropic's review of it has not ended, and no open action's `reason` is `account_compromise`; `restricted` while any action is open; `unrestricted` while none is. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
225
226 - `"unrestricted"`
227
228 - `"pending"`
229
230 - `"restricted"`
231
232 - `"banned"`
233
146234 - `external_user_details: UserProfileExternalUserDetails`
147235
148236 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
from line 372
284372```bash
285373curl https://api.anthropic.com/v1/user_profiles \
286374 -H 'Content-Type: application/json' \
287 -H 'anthropic-version: 2023-06-01' \
288 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
375 -H 'anthropic-version: 2026-10-21' \
376 -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
289377 -d '{
290378 "external_user_details": {
291379 "account_status": "active",
from line 394
306394 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
307395 "access_type": "application",
308396 "created_at": "2026-03-15T10:00:00Z",
397 "enforcement_actions": [
398 {
399 "id": "enac_011CZkZCu8hGbp5mYRQgUmz9",
400 "action": "verify",
401 "expires_at": null,
402 "opened_at": "2026-10-02T19:30:00Z",
403 "reason": "fraud_or_abuse",
404 "type": "restriction"
405 }
406 ],
407 "enforcement_status": "unrestricted",
309408 "external_user_details": {
310409 "account_status": "active",
311410 "country": "US",
from line 463
364463
365464### Query parameters
366465
466- `enforcement_status: optional array of UserProfileEnforcementStatus`
467
468 Return only the user profiles whose `enforcement_status` is one of these values: `unrestricted`, `pending`, `restricted` or `banned`. Repeat the parameter to match any of several. With it set, a page may hold fewer than `limit` profiles, or none, and still carry a `next_page`: the service examines a bounded number of profiles per request, and only a null `next_page` means the listing is complete. Rejected with `invalid_request_error` under the `user-profiles-2026-09-04` and earlier beta headers. Fails with `overloaded_error` when a profile's enforcement actions cannot be read for the moment.
469
470 - `"unrestricted"`
471
472 - `"pending"`
473
474 - `"restricted"`
475
476 - `"banned"`
477
367478- `limit: optional number`
368479
369480 The maximum number of user profiles to return, from 1 to 100. Defaults to 20.
from line 556
445556 When this user profile was created, in RFC 3339 format.
446557
447558 format: date-time
559
560 - `enforcement_actions: array of UserProfileEnforcementAction`
561
562 The enforcement actions open on this profile; empty when none is open. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
563
564 - `UserProfileEnforcementActionRestriction object`
565
566 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
567
568 - `type: "restriction"`
569
570 - `id: string`
571
572 The action's ID (`enac_...`), stable while the action is open.
573
574 - `action: UserProfileEnforcementActionNextStep or null`
575
576 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
577
578 - `expires_at: string or null`
579
580 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
581
582 format: date-time
583
584 - `opened_at: string`
585
586 When Anthropic opened the action, in RFC 3339 format.
587
588 format: date-time
589
590 - `reason: UserProfileEnforcementActionReason`
591
592 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
593
594 - `"unsupported_region"`
595
596 - `"fraud_or_abuse"`
597
598 - `"high_harm"`
599
600 - `"usage_policy_violation"`
601
602 - `"account_compromise"`
603
604 - `"unspecified"`
605
606 - `UserProfileEnforcementActionBan object`
607
608 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
609
610 - `type: "ban"`
611
612 - `id: string`
613
614 The action's ID (`enac_...`), stable while the action is open.
615
616 - `action: UserProfileEnforcementActionNextStep or null`
617
618 Always `null`: the end user cannot clear a ban.
619
620 - `expires_at: string or null`
621
622 Always `null`: a ban has no end date.
623
624 format: date-time
625
626 - `opened_at: string`
627
628 When Anthropic opened the action, in RFC 3339 format.
629
630 format: date-time
631
632 - `reason: UserProfileEnforcementActionReason`
633
634 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
635
636 - `enforcement_status: UserProfileEnforcementStatus`
637
638 Anthropic's enforcement status of this profile, from its open enforcement actions and any identity check under review, by the first rule that applies: `banned` while any open action is a `ban`; `pending` while a restriction that an identity check can clear is open, the end user has submitted that check, Anthropic's review of it has not ended, and no open action's `reason` is `account_compromise`; `restricted` while any action is open; `unrestricted` while none is. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
639
640 - `"unrestricted"`
641
642 - `"pending"`
643
644 - `"restricted"`
645
646 - `"banned"`
448647
449648 - `external_user_details: UserProfileExternalUserDetails`
450649
from line 789
590789
591790```bash
592791curl https://api.anthropic.com/v1/user_profiles \
593 -H 'anthropic-version: 2023-06-01' \
594 -H "X-Api-Key: $ANTHROPIC_API_KEY"
792 -H 'anthropic-version: 2026-10-21' \
793 -H "Authorization: Bearer $ANTHROPIC_API_KEY"
595794```
596795
597796#### Response (200)
from line 802
603802 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
604803 "access_type": "application",
605804 "created_at": "2026-03-15T10:00:00Z",
805 "enforcement_actions": [
806 {
807 "id": "enac_011CZkZCu8hGbp5mYRQgUmz9",
808 "action": "verify",
809 "expires_at": null,
810 "opened_at": "2026-10-02T19:30:00Z",
811 "reason": "fraud_or_abuse",
812 "type": "restriction"
813 }
814 ],
815 "enforcement_status": "unrestricted",
606816 "external_user_details": {
607817 "account_status": "active",
608818 "country": "US",
from line 916
706916
707917 format: date-time
708918
919 - `enforcement_actions: array of UserProfileEnforcementAction`
920
921 The enforcement actions open on this profile; empty when none is open. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
922
923 - `UserProfileEnforcementActionRestriction object`
924
925 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
926
927 - `type: "restriction"`
928
929 - `id: string`
930
931 The action's ID (`enac_...`), stable while the action is open.
932
933 - `action: UserProfileEnforcementActionNextStep or null`
934
935 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
936
937 - `expires_at: string or null`
938
939 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
940
941 format: date-time
942
943 - `opened_at: string`
944
945 When Anthropic opened the action, in RFC 3339 format.
946
947 format: date-time
948
949 - `reason: UserProfileEnforcementActionReason`
950
951 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
952
953 - `"unsupported_region"`
954
955 - `"fraud_or_abuse"`
956
957 - `"high_harm"`
958
959 - `"usage_policy_violation"`
960
961 - `"account_compromise"`
962
963 - `"unspecified"`
964
965 - `UserProfileEnforcementActionBan object`
966
967 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
968
969 - `type: "ban"`
970
971 - `id: string`
972
973 The action's ID (`enac_...`), stable while the action is open.
974
975 - `action: UserProfileEnforcementActionNextStep or null`
976
977 Always `null`: the end user cannot clear a ban.
978
979 - `expires_at: string or null`
980
981 Always `null`: a ban has no end date.
982
983 format: date-time
984
985 - `opened_at: string`
986
987 When Anthropic opened the action, in RFC 3339 format.
988
989 format: date-time
990
991 - `reason: UserProfileEnforcementActionReason`
992
993 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
994
995 - `enforcement_status: UserProfileEnforcementStatus`
996
997 Anthropic's enforcement status of this profile, from its open enforcement actions and any identity check under review, by the first rule that applies: `banned` while any open action is a `ban`; `pending` while a restriction that an identity check can clear is open, the end user has submitted that check, Anthropic's review of it has not ended, and no open action's `reason` is `account_compromise`; `restricted` while any action is open; `unrestricted` while none is. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
998
999 - `"unrestricted"`
1000
1001 - `"pending"`
1002
1003 - `"restricted"`
1004
1005 - `"banned"`
1006
7091007 - `external_user_details: UserProfileExternalUserDetails`
7101008
7111009 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
from line 1144
8461144
8471145```bash
8481146curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
849 -H 'anthropic-version: 2023-06-01' \
850 -H "X-Api-Key: $ANTHROPIC_API_KEY"
1147 -H 'anthropic-version: 2026-10-21' \
1148 -H "Authorization: Bearer $ANTHROPIC_API_KEY"
8511149```
8521150
8531151#### Response (200)
from line 1155
8571155 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
8581156 "access_type": "application",
8591157 "created_at": "2026-03-15T10:00:00Z",
1158 "enforcement_actions": [
1159 {
1160 "id": "enac_011CZkZCu8hGbp5mYRQgUmz9",
1161 "action": "verify",
1162 "expires_at": null,
1163 "opened_at": "2026-10-02T19:30:00Z",
1164 "reason": "fraud_or_abuse",
1165 "type": "restriction"
1166 }
1167 ],
1168 "enforcement_status": "unrestricted",
8601169 "external_user_details": {
8611170 "account_status": "active",
8621171 "country": "US",
from line 1360
10511360
10521361 format: date-time
10531362
1363 - `enforcement_actions: array of UserProfileEnforcementAction`
1364
1365 The enforcement actions open on this profile; empty when none is open. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
1366
1367 - `UserProfileEnforcementActionRestriction object`
1368
1369 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
1370
1371 - `type: "restriction"`
1372
1373 - `id: string`
1374
1375 The action's ID (`enac_...`), stable while the action is open.
1376
1377 - `action: UserProfileEnforcementActionNextStep or null`
1378
1379 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
1380
1381 - `expires_at: string or null`
1382
1383 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
1384
1385 format: date-time
1386
1387 - `opened_at: string`
1388
1389 When Anthropic opened the action, in RFC 3339 format.
1390
1391 format: date-time
1392
1393 - `reason: UserProfileEnforcementActionReason`
1394
1395 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
1396
1397 - `"unsupported_region"`
1398
1399 - `"fraud_or_abuse"`
1400
1401 - `"high_harm"`
1402
1403 - `"usage_policy_violation"`
1404
1405 - `"account_compromise"`
1406
1407 - `"unspecified"`
1408
1409 - `UserProfileEnforcementActionBan object`
1410
1411 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
1412
1413 - `type: "ban"`
1414
1415 - `id: string`
1416
1417 The action's ID (`enac_...`), stable while the action is open.
1418
1419 - `action: UserProfileEnforcementActionNextStep or null`
1420
1421 Always `null`: the end user cannot clear a ban.
1422
1423 - `expires_at: string or null`
1424
1425 Always `null`: a ban has no end date.
1426
1427 format: date-time
1428
1429 - `opened_at: string`
1430
1431 When Anthropic opened the action, in RFC 3339 format.
1432
1433 format: date-time
1434
1435 - `reason: UserProfileEnforcementActionReason`
1436
1437 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
1438
1439 - `enforcement_status: UserProfileEnforcementStatus`
1440
1441 Anthropic's enforcement status of this profile, from its open enforcement actions and any identity check under review, by the first rule that applies: `banned` while any open action is a `ban`; `pending` while a restriction that an identity check can clear is open, the end user has submitted that check, Anthropic's review of it has not ended, and no open action's `reason` is `account_compromise`; `restricted` while any action is open; `unrestricted` while none is. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
1442
1443 - `"unrestricted"`
1444
1445 - `"pending"`
1446
1447 - `"restricted"`
1448
1449 - `"banned"`
1450
10541451 - `external_user_details: UserProfileExternalUserDetails`
10551452
10561453 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
from line 1589
11921589```bash
11931590curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
11941591 -H 'Content-Type: application/json' \
1195 -H 'anthropic-version: 2023-06-01' \
1196 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
1592 -H 'anthropic-version: 2026-10-21' \
1593 -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
11971594 -d '{
11981595 "external_user_details": {
11991596 "account_status": "suspended"
from line 1605
12081605 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
12091606 "access_type": "application",
12101607 "created_at": "2026-03-15T10:00:00Z",
1608 "enforcement_actions": [
1609 {
1610 "id": "enac_011CZkZCu8hGbp5mYRQgUmz9",
1611 "action": "verify",
1612 "expires_at": null,
1613 "opened_at": "2026-10-02T19:30:00Z",
1614 "reason": "fraud_or_abuse",
1615 "type": "restriction"
1616 }
1617 ],
1618 "enforcement_status": "unrestricted",
12111619 "external_user_details": {
12121620 "account_status": "active",
12131621 "country": "US",
from line 1709
13011709```bash
13021710curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
13031711 -X DELETE \
1304 -H 'anthropic-version: 2023-06-01' \
1305 -H "X-Api-Key: $ANTHROPIC_API_KEY"
1712 -H 'anthropic-version: 2026-10-21' \
1713 -H "Authorization: Bearer $ANTHROPIC_API_KEY"
13061714```
13071715
13081716#### Response (200)
from line 1770
13621770
13631771 format: date-time
13641772
1773 - `enforcement_actions: array of UserProfileEnforcementAction`
1774
1775 The enforcement actions open on this profile; empty when none is open. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
1776
1777 - `UserProfileEnforcementActionRestriction object`
1778
1779 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
1780
1781 - `type: "restriction"`
1782
1783 - `id: string`
1784
1785 The action's ID (`enac_...`), stable while the action is open.
1786
1787 - `action: UserProfileEnforcementActionNextStep or null`
1788
1789 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
1790
1791 - `expires_at: string or null`
1792
1793 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
1794
1795 format: date-time
1796
1797 - `opened_at: string`
1798
1799 When Anthropic opened the action, in RFC 3339 format.
1800
1801 format: date-time
1802
1803 - `reason: UserProfileEnforcementActionReason`
1804
1805 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
1806
1807 - `"unsupported_region"`
1808
1809 - `"fraud_or_abuse"`
1810
1811 - `"high_harm"`
1812
1813 - `"usage_policy_violation"`
1814
1815 - `"account_compromise"`
1816
1817 - `"unspecified"`
1818
1819 - `UserProfileEnforcementActionBan object`
1820
1821 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
1822
1823 - `type: "ban"`
1824
1825 - `id: string`
1826
1827 The action's ID (`enac_...`), stable while the action is open.
1828
1829 - `action: UserProfileEnforcementActionNextStep or null`
1830
1831 Always `null`: the end user cannot clear a ban.
1832
1833 - `expires_at: string or null`
1834
1835 Always `null`: a ban has no end date.
1836
1837 format: date-time
1838
1839 - `opened_at: string`
1840
1841 When Anthropic opened the action, in RFC 3339 format.
1842
1843 format: date-time
1844
1845 - `reason: UserProfileEnforcementActionReason`
1846
1847 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
1848
1849 - `enforcement_status: UserProfileEnforcementStatus`
1850
1851 Anthropic's enforcement status of this profile, from its open enforcement actions and any identity check under review, by the first rule that applies: `banned` while any open action is a `ban`; `pending` while a restriction that an identity check can clear is open, the end user has submitted that check, Anthropic's review of it has not ended, and no open action's `reason` is `account_compromise`; `restricted` while any action is open; `unrestricted` while none is. Absent under the `user-profiles-2026-09-04` and earlier beta headers.
1852
1853 - `"unrestricted"`
1854
1855 - `"pending"`
1856
1857 - `"restricted"`
1858
1859 - `"banned"`
1860
13651861 - `external_user_details: UserProfileExternalUserDetails`
13661862
13671863 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
from line 2129
16332129 - `"rejected"`
16342130
16352131 The profile is not in the program and nothing is awaited: Anthropic has declined, or has withdrawn an earlier approval.
2132
2133### User Profile Enforcement Action
2134
2135- `UserProfileEnforcementAction = UserProfileEnforcementActionRestriction or UserProfileEnforcementActionBan`
2136
2137 A limit Anthropic has placed on the entity this profile represents and not yet resolved, discriminated by `type`: `restriction` or `ban`. More types may be added; read a `type` you do not recognize as `restriction`.
2138
2139 - `UserProfileEnforcementActionRestriction object`
2140
2141 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
2142
2143 - `type: "restriction"`
2144
2145 - `id: string`
2146
2147 The action's ID (`enac_...`), stable while the action is open.
2148
2149 - `action: UserProfileEnforcementActionNextStep or null`
2150
2151 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
2152
2153 - `expires_at: string or null`
2154
2155 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
2156
2157 format: date-time
2158
2159 - `opened_at: string`
2160
2161 When Anthropic opened the action, in RFC 3339 format.
2162
2163 format: date-time
2164
2165 - `reason: UserProfileEnforcementActionReason`
2166
2167 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
2168
2169 - `"unsupported_region"`
2170
2171 - `"fraud_or_abuse"`
2172
2173 - `"high_harm"`
2174
2175 - `"usage_policy_violation"`
2176
2177 - `"account_compromise"`
2178
2179 - `"unspecified"`
2180
2181 - `UserProfileEnforcementActionBan object`
2182
2183 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
2184
2185 - `type: "ban"`
2186
2187 - `id: string`
2188
2189 The action's ID (`enac_...`), stable while the action is open.
2190
2191 - `action: UserProfileEnforcementActionNextStep or null`
2192
2193 Always `null`: the end user cannot clear a ban.
2194
2195 - `expires_at: string or null`
2196
2197 Always `null`: a ban has no end date.
2198
2199 format: date-time
2200
2201 - `opened_at: string`
2202
2203 When Anthropic opened the action, in RFC 3339 format.
2204
2205 format: date-time
2206
2207 - `reason: UserProfileEnforcementActionReason`
2208
2209 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
2210
2211### User Profile Enforcement Action Ban
2212
2213- `UserProfileEnforcementActionBan object`
2214
2215 Anthropic has stopped serving the end user where the ban applies and does not plan to serve them there again.
2216
2217 - `type: "ban"`
2218
2219 - `id: string`
2220
2221 The action's ID (`enac_...`), stable while the action is open.
2222
2223 - `action: UserProfileEnforcementActionNextStep or null`
2224
2225 Always `null`: the end user cannot clear a ban.
2226
2227 - `expires_at: string or null`
2228
2229 Always `null`: a ban has no end date.
2230
2231 format: date-time
2232
2233 - `opened_at: string`
2234
2235 When Anthropic opened the action, in RFC 3339 format.
2236
2237 format: date-time
2238
2239 - `reason: UserProfileEnforcementActionReason`
2240
2241 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
2242
2243 - `"unsupported_region"`
2244
2245 - `"fraud_or_abuse"`
2246
2247 - `"high_harm"`
2248
2249 - `"usage_policy_violation"`
2250
2251 - `"account_compromise"`
2252
2253 - `"unspecified"`
2254
2255### User Profile Enforcement Action Next Step
2256
2257- `UserProfileEnforcementActionNextStep = "verify"`
2258
2259 The next step on this enforcement action: `verify` means the end user can clear the action by passing an identity check. More values may be added; read a value you do not recognize as `null`.
2260
2261### User Profile Enforcement Action Reason
2262
2263- `UserProfileEnforcementActionReason = "unsupported_region" or "fraud_or_abuse" or "high_harm" or 3 more`
2264
2265 Why Anthropic placed this enforcement action: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`. More values may be added; read a value you do not recognize as `unspecified`.
2266
2267 - `"unsupported_region"`
2268
2269 - `"fraud_or_abuse"`
2270
2271 - `"high_harm"`
2272
2273 - `"usage_policy_violation"`
2274
2275 - `"account_compromise"`
2276
2277 - `"unspecified"`
2278
2279### User Profile Enforcement Action Restriction
2280
2281- `UserProfileEnforcementActionRestriction object`
2282
2283 Anthropic has limited how it serves the end user until the action is resolved. The end user may still be served in part.
2284
2285 - `type: "restriction"`
2286
2287 - `id: string`
2288
2289 The action's ID (`enac_...`), stable while the action is open.
2290
2291 - `action: UserProfileEnforcementActionNextStep or null`
2292
2293 The next step on the action: `verify` or `null`. `verify`: the end user can clear it now by passing an identity check. `null`: there is nothing the end user can do now to clear it, including while Anthropic reviews an identity check the end user submitted.
2294
2295 - `expires_at: string or null`
2296
2297 When the action ends on its own, in RFC 3339 format; it stops showing once this time has passed. `null` when it has no end date, and always `null` when `reason` is `account_compromise`.
2298
2299 format: date-time
2300
2301 - `opened_at: string`
2302
2303 When Anthropic opened the action, in RFC 3339 format.
2304
2305 format: date-time
2306
2307 - `reason: UserProfileEnforcementActionReason`
2308
2309 Why Anthropic placed the limit: `unsupported_region`, `fraud_or_abuse`, `high_harm`, `usage_policy_violation`, `account_compromise` or `unspecified`.
2310
2311 - `"unsupported_region"`
2312
2313 - `"fraud_or_abuse"`
2314
2315 - `"high_harm"`
2316
2317 - `"usage_policy_violation"`
2318
2319 - `"account_compromise"`
2320
2321 - `"unspecified"`
2322
2323### User Profile Enforcement Status
2324
2325- `UserProfileEnforcementStatus = "unrestricted" or "pending" or "restricted" or "banned"`
2326
2327 Anthropic's enforcement status of this profile: `unrestricted`, `pending`, `restricted` or `banned`. More values may be added; read a value you do not recognize as `restricted`.
2328
2329 - `"unrestricted"`
2330
2331 - `"pending"`
2332
2333 - `"restricted"`
2334
2335 - `"banned"`
16362336
16372337### User Profile External User Account Status
16382338
from line 2663
19632663```bash
19642664curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/action_urls \
19652665 -H 'Content-Type: application/json' \
1966 -H 'anthropic-version: 2023-06-01' \
1967 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
2666 -H 'anthropic-version: 2026-10-21' \
2667 -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
19682668 -d '{
19692669 "action": {
19702670 "type": "enroll_end_user"
19712671