This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
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 778
778778
779779- `user_profile_id: optional string or null`
780780
781 ID of a user profile to bind the key to. Omit this field for a key that isn't bound to a user profile. Such a key can be attached to a Workspace whatever its user profile. The binding cannot be changed later. A key bound to a user profile can only be attached to a Workspace that has the same user profile.
781 ID of a user profile to bind the key to. A user profile represents one of your customers: bind a customer's key to that customer's user profile. A key bound to a user profile can only be attached to a Workspace that has the same user profile, and the binding cannot be changed later. Omit this field only for your organization's own key, because a key created without a user profile ID can be attached to any Workspace, including another customer's.
782782
783783#### Returns
784784
from line 1738
17381738
17391739 - `"webhooks-2026-10-07"`
17401740
1741 - `"admin-user-sign-out-2026-10-08"`
1742
17411743 - `"message-threads-2026-08-12"`
17421744
17431745 - `"analytics-usage-cost-2026-08-24"`
from line 2148
21462148
21472149 - `"webhooks-2026-10-07"`
21482150
2151 - `"admin-user-sign-out-2026-10-08"`
2152
21492153 - `"message-threads-2026-08-12"`
21502154
21512155 - `"analytics-usage-cost-2026-08-24"`
from line 2469
24652469
24662470 - `"webhooks-2026-10-07"`
24672471
2472 - `"admin-user-sign-out-2026-10-08"`
2473
24682474 - `"message-threads-2026-08-12"`
24692475
24702476 - `"analytics-usage-cost-2026-08-24"`
from line 2793
27872793
27882794 - `"webhooks-2026-10-07"`
27892795
2796 - `"admin-user-sign-out-2026-10-08"`
2797
27902798 - `"message-threads-2026-08-12"`
27912799
27922800 - `"analytics-usage-cost-2026-08-24"`
from line 3195
31873195
31883196 - `"webhooks-2026-10-07"`
31893197
3198 - `"admin-user-sign-out-2026-10-08"`
3199
31903200 - `"message-threads-2026-08-12"`
31913201
31923202 - `"analytics-usage-cost-2026-08-24"`
from line 3523
35133523
35143524 - `"webhooks-2026-10-07"`
35153525
3526 - `"admin-user-sign-out-2026-10-08"`
3527
35163528 - `"message-threads-2026-08-12"`
35173529
35183530 - `"analytics-usage-cost-2026-08-24"`
from line 3958
39463958
39473959 - `"webhooks-2026-10-07"`
39483960
3961 - `"admin-user-sign-out-2026-10-08"`
3962
39493963 - `"message-threads-2026-08-12"`
39503964
39513965 - `"analytics-usage-cost-2026-08-24"`
from line 4279
42654279
42664280 - `"webhooks-2026-10-07"`
42674281
4282 - `"admin-user-sign-out-2026-10-08"`
4283
42684284 - `"message-threads-2026-08-12"`
42694285
42704286 - `"analytics-usage-cost-2026-08-24"`
from line 4618
46024618
46034619 - `"webhooks-2026-10-07"`
46044620
4621 - `"admin-user-sign-out-2026-10-08"`
4622
46054623 - `"message-threads-2026-08-12"`
46064624
46074625 - `"analytics-usage-cost-2026-08-24"`
from line 5029
50115029
50125030 - `"webhooks-2026-10-07"`
50135031
5032 - `"admin-user-sign-out-2026-10-08"`
5033
50145034 - `"message-threads-2026-08-12"`
50155035
50165036 - `"analytics-usage-cost-2026-08-24"`
from line 5364
53445364
53455365 - `"webhooks-2026-10-07"`
53465366
5367 - `"admin-user-sign-out-2026-10-08"`
5368
53475369 - `"message-threads-2026-08-12"`
53485370
53495371 - `"analytics-usage-cost-2026-08-24"`
from line 5583
55615583
55625584 - `"webhooks-2026-10-07"`
55635585
5586 - `"admin-user-sign-out-2026-10-08"`
5587
55645588 - `"message-threads-2026-08-12"`
55655589
55665590 - `"analytics-usage-cost-2026-08-24"`
from line 5792
57685792
57695793 - `"webhooks-2026-10-07"`
57705794
5795 - `"admin-user-sign-out-2026-10-08"`
5796
57715797 - `"message-threads-2026-08-12"`
57725798
57735799 - `"analytics-usage-cost-2026-08-24"`
from line 6473
64476473
64486474 - `"webhooks-2026-10-07"`
64496475
6476 - `"admin-user-sign-out-2026-10-08"`
6477
64506478 - `"message-threads-2026-08-12"`
64516479
64526480 - `"analytics-usage-cost-2026-08-24"`
from line 6744
67166744
67176745 - `"webhooks-2026-10-07"`
67186746
6747 - `"admin-user-sign-out-2026-10-08"`
6748
67196749 - `"message-threads-2026-08-12"`
67206750
67216751 - `"analytics-usage-cost-2026-08-24"`
from line 6977
69476977
69486978 - `"webhooks-2026-10-07"`
69496979
6980 - `"admin-user-sign-out-2026-10-08"`
6981
69506982 - `"message-threads-2026-08-12"`
69516983
69526984 - `"analytics-usage-cost-2026-08-24"`
from line 7211
71797211
71807212 - `"webhooks-2026-10-07"`
71817213
7214 - `"admin-user-sign-out-2026-10-08"`
7215
71827216 - `"message-threads-2026-08-12"`
71837217
71847218 - `"analytics-usage-cost-2026-08-24"`
from line 7463
74297463
74307464 - `"webhooks-2026-10-07"`
74317465
7466 - `"admin-user-sign-out-2026-10-08"`
7467
74327468 - `"message-threads-2026-08-12"`
74337469
74347470 - `"analytics-usage-cost-2026-08-24"`
from line 7702
76667702
76677703 - `"webhooks-2026-10-07"`
76687704
7705 - `"admin-user-sign-out-2026-10-08"`
7706
76697707 - `"message-threads-2026-08-12"`
76707708
76717709 - `"analytics-usage-cost-2026-08-24"`
from line 7950
79127950
79137951 - `"webhooks-2026-10-07"`
79147952
7953 - `"admin-user-sign-out-2026-10-08"`
7954
79157955 - `"message-threads-2026-08-12"`
79167956
79177957 - `"analytics-usage-cost-2026-08-24"`
from line 8170
81308170
81318171 - `"webhooks-2026-10-07"`
81328172
8173 - `"admin-user-sign-out-2026-10-08"`
8174
81338175 - `"message-threads-2026-08-12"`
81348176
81358177 - `"analytics-usage-cost-2026-08-24"`
from line 8609
85678609}
85688610```
85698611
8612### Sign Out User
8613
8614**POST** `/v1/organizations/users/{user_id}/sign_out`
8615
8616Sign a member out of Claude everywhere, without removing them from the organization. This ends their sign-in sessions and removes their trusted devices wherever they use Claude, including other organizations and individual plans. It also ends the OAuth tokens issued to them for this organization, so apps such as Claude Code must sign in again.
8617
8618A token can take up to an hour to stop working, though it almost always stops at once. The member keeps their role and can sign in again right away. To keep them out, remove them from the organization or, if your organization uses single sign-on, block them in your identity provider. Signing out does not end API keys, OAuth tokens that were not issued for this organization, or the member's Claude Code cloud sessions and routines.
8619
8620You cannot sign out the organization's primary owner or the person your API key or token acts for, and a request to sign out another owner, a member with owner permissions, or a membership admin may be refused. A refused request returns a `400` or `403` error that says why. If the request returns `503`, send it again to finish; anything already ended stays ended.
8621
8622Every request must include the beta header `anthropic-beta: admin-user-sign-out-2026-10-08`. A request without it returns `400`. Sign-out is in beta for Claude Enterprise organizations. In an organization where it is not enabled, a request returns `400` with `error_code` `organization_not_enrolled_in_beta`. In a Claude Enterprise organization, an API key needs the `write:members` scope; a key without it gets `403`.
8623
8624#### Path parameters
8625
8626- `user_id: string`
8627
8628 ID of the User.
8629
8630#### Headers
8631
8632- `"anthropic-version": optional string`
8633
8634 The version of the Claude API you want to use.
8635
8636 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
8637
8638- `"anthropic-beta": array of AnthropicBeta`
8639
8640 This endpoint is in beta: requests must send `admin-user-sign-out-2026-10-08` in this header.
8641
8642 - `string`
8643
8644 - `"message-batches-2024-09-24"`
8645
8646 - `"prompt-caching-2024-07-31"`
8647
8648 - `"computer-use-2024-10-22"`
8649
8650 - `"computer-use-2025-01-24"`
8651
8652 - `"pdfs-2024-09-25"`
8653
8654 - `"token-counting-2024-11-01"`
8655
8656 - `"token-efficient-tools-2025-02-19"`
8657
8658 - `"output-128k-2025-02-19"`
8659
8660 - `"files-api-2025-04-14"`
8661
8662 - `"mcp-client-2025-04-04"`
8663
8664 - `"mcp-client-2025-11-20"`
8665
8666 - `"dev-full-thinking-2025-05-14"`
8667
8668 - `"interleaved-thinking-2025-05-14"`
8669
8670 - `"code-execution-2025-05-22"`
8671
8672 - `"extended-cache-ttl-2025-04-11"`
8673
8674 - `"context-1m-2025-08-07"`
8675
8676 - `"context-management-2025-06-27"`
8677
8678 - `"model-context-window-exceeded-2025-08-26"`
8679
8680 - `"skills-2025-10-02"`
8681
8682 - `"fast-mode-2026-02-01"`
8683
8684 - `"output-300k-2026-03-24"`
8685
8686 - `"user-profiles-2026-03-24"`
8687
8688 - `"user-profiles-2026-08-18"`
8689
8690 - `"user-profiles-2026-09-04"`
8691
8692 - `"advisor-tool-2026-03-01"`
8693
8694 - `"managed-agents-2026-04-01"`
8695
8696 - `"cache-diagnosis-2026-04-07"`
8697
8698 - `"dreaming-2026-04-21"`
8699
8700 - `"thinking-token-count-2026-05-13"`
8701
8702 - `"server-side-fallback-2026-06-01"`
8703
8704 - `"server-side-fallback-2026-07-01"`
8705
8706 - `"fallback-credit-2026-06-01"`
8707
8708 - `"fallback-credit-2026-07-01"`
8709
8710 - `"agent-memory-2026-07-22"`
8711
8712 - `"mid-conversation-tool-changes-2026-07-01"`
8713
8714 - `"compact-2026-01-12"`
8715
8716 - `"computer-use-2025-11-24"`
8717
8718 - `"mcp-tunnels-2026-06-22"`
8719
8720 - `"structured-outputs-2025-11-13"`
8721
8722 - `"task-budgets-2026-03-13"`
8723
8724 - `"thinking-display-updates-2026-08-18"`
8725
8726 - `"ce-user-management-2026-07-13"`
8727
8728 - `"mid-conversation-output-config-2026-07-01"`
8729
8730 - `"thinking-binding-controls-2026-08-01"`
8731
8732 - `"mid-conversation-system-clear-at-2026-08-21"`
8733
8734 - `"compact-2026-09-04"`
8735
8736 - `"inline-tools-2026-09-15"`
8737
8738 - `"mcp-client-2026-09-15"`
8739
8740 - `"ce-plugins-2026-09-01"`
8741
8742 - `"spend-limit-reads-2026-09-26"`
8743
8744 - `"telemetry-destinations-2026-08-11"`
8745
8746 - `"webhooks-2026-10-07"`
8747
8748 - `"admin-user-sign-out-2026-10-08"`
8749
8750 - `"message-threads-2026-08-12"`
8751
8752 - `"analytics-usage-cost-2026-08-24"`
8753
8754 - `"experimental-claude-tag-2026-10-21"`
8755
8756#### Returns
8757
8758- `BetaOrganizationUser object`
8759
8760 - `type: "user"`
8761
8762 Object type.
8763
8764 For Users, this is always `"user"`.
8765
8766 default: user
8767
8768 - `id: string`
8769
8770 ID of the User.
8771
8772 - `added_at: string`
8773
8774 RFC 3339 datetime string indicating when the User joined the Organization.
8775
8776 format: date-time
8777
8778 - `email: string`
8779
8780 Email of the User.
8781
8782 - `name: string`
8783
8784 Name of the User.
8785
8786 - `role: BetaOrganizationRole`
8787
8788 Organization role of the User.
8789
8790 - `"admin"`
8791
8792 - `"billing"`
8793
8794 - `"claude_code_user"`
8795
8796 - `"developer"`
8797
8798 - `"managed"`
8799
8800 - `"membership_admin"`
8801
8802 - `"owner"`
8803
8804 - `"primary_owner"`
8805
8806 - `"user"`
8807
8808#### Example
8809
8810```bash
8811curl https://api.anthropic.com/v1/organizations/users/$USER_ID/sign_out \
8812 -X POST \
8813 -H 'anthropic-version: 2026-10-21' \
8814 -H 'anthropic-beta: admin-user-sign-out-2026-10-08' \
8815 -H "Authorization: Bearer $ANTHROPIC_API_KEY"
8816```
8817
8818##### Response (200)
8819
8820```json
8821{
8822 "id": "user_01WxYzAbCdEfGhJkMnPqRsTu",
8823 "added_at": "2024-10-30T23:58:27.427722Z",
8825 "name": "Jane Doe",
8826 "role": "admin",
8827 "type": "user"
8828}
8829```
8830
85708831## Organization › Workspaces
85718832
85728833### List Workspaces
from line 8846
85858846
85868847 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
85878848
8849- `ids: optional array of string`
8850
8851 Only the Workspaces with these IDs, at most 100. `include_archived` and `include_default` still apply, and IDs of Workspaces the caller can't list are left out.
8852
85888853- `include_archived: optional boolean`
85898854
85908855 Whether to include Workspaces that have been archived in the response
from line 9154
88899154
88909155 - `"webhooks-2026-10-07"`
88919156
9157 - `"admin-user-sign-out-2026-10-08"`
9158
88929159 - `"message-threads-2026-08-12"`
88939160
88949161 - `"analytics-usage-cost-2026-08-24"`
from line 10998
1073110998
1073210999 - `"webhooks-2026-10-07"`
1073311000
11001 - `"admin-user-sign-out-2026-10-08"`
11002
1073411003 - `"message-threads-2026-08-12"`
1073511004
1073611005 - `"analytics-usage-cost-2026-08-24"`
from line 11215
1094611215
1094711216 - `"webhooks-2026-10-07"`
1094811217
11218 - `"admin-user-sign-out-2026-10-08"`
11219
1094911220 - `"message-threads-2026-08-12"`
1095011221
1095111222 - `"analytics-usage-cost-2026-08-24"`
from line 11448
1117711448
1117811449 - `"webhooks-2026-10-07"`
1117911450
11451 - `"admin-user-sign-out-2026-10-08"`
11452
1118011453 - `"message-threads-2026-08-12"`
1118111454
1118211455 - `"analytics-usage-cost-2026-08-24"`
from line 11658
1138511658
1138611659 - `"webhooks-2026-10-07"`
1138711660
11661 - `"admin-user-sign-out-2026-10-08"`
11662
1138811663 - `"message-threads-2026-08-12"`
1138911664
1139011665 - `"analytics-usage-cost-2026-08-24"`
from line 11885
1161011885
1161111886 - `"webhooks-2026-10-07"`
1161211887
11888 - `"admin-user-sign-out-2026-10-08"`
11889
1161311890 - `"message-threads-2026-08-12"`
1161411891
1161511892 - `"analytics-usage-cost-2026-08-24"`
from line 12334
1205712334
1205812335- `context_window: optional array of BetaAnalyticsContextWindow`
1205912336
12060 Restrict usage returned to the specified context window(s).
12337 Restrict usage returned to the specified context window(s). See the `context_window` response field for how a request is classified.
1206112338
1206212339 - `"0-200k"`
1206312340
from line 12545
1226812545
1226912546 - `"webhooks-2026-10-07"`
1227012547
12548 - `"admin-user-sign-out-2026-10-08"`
12549
1227112550 - `"message-threads-2026-08-12"`
1227212551
1227312552 - `"analytics-usage-cost-2026-08-24"`
from line 12603
1232412603
1232512604 Context window used. `null` if not grouping by context window.
1232612605
12606 A request is classified by comparing its prompt size with its model's own long-context boundary, the same boundary that billing uses. The two values are labels for the two classes, not literal ranges: where a model's boundary is below 200k, a request whose prompt exceeds that boundary is reported under `200k-1M`, and a `0-200k` filter does not return it. Where the report cannot determine a model's boundary, it uses 200k instead. Hourly usage stored before this classification took effect keeps its earlier value until it expires. Billed amounts are not affected.
12607
1232712608 - `"0-200k"`
1232812609
1232912610 - `"200k-1M"`
from line 13174
1289313174
1289413175 - `"webhooks-2026-10-07"`
1289513176
13177 - `"admin-user-sign-out-2026-10-08"`
13178
1289613179 - `"message-threads-2026-08-12"`
1289713180
1289813181 - `"analytics-usage-cost-2026-08-24"`
from line 13245
1296213245
1296313246 - `model: string or null`
1296413247
12965 Model name used. `null` if not grouping by description or for non-token costs.
13248 Model name used. `null` if not grouping by description, for non-token costs, or for token costs with no model ID.
1296613249
1296713250 - `service_tier: "batch" or "standard" or null`
1296813251
from line 13492
1320913492
1321013493 - `"webhooks-2026-10-07"`
1321113494
13495 - `"admin-user-sign-out-2026-10-08"`
13496
1321213497 - `"message-threads-2026-08-12"`
1321313498
1321413499 - `"analytics-usage-cost-2026-08-24"`
from line 13708
1342313708
1342413709 - `"webhooks-2026-10-07"`
1342513710
13711 - `"admin-user-sign-out-2026-10-08"`
13712
1342613713 - `"message-threads-2026-08-12"`
1342713714
1342813715 - `"analytics-usage-cost-2026-08-24"`
from line 13920
1363313920
1363413921 - `"webhooks-2026-10-07"`
1363513922
13923 - `"admin-user-sign-out-2026-10-08"`
13924
1363613925 - `"message-threads-2026-08-12"`
1363713926
1363813927 - `"analytics-usage-cost-2026-08-24"`
from line 14133
1384414133
1384514134 - `"webhooks-2026-10-07"`
1384614135
14136 - `"admin-user-sign-out-2026-10-08"`
14137
1384714138 - `"message-threads-2026-08-12"`
1384814139
1384914140 - `"analytics-usage-cost-2026-08-24"`
from line 14318
1402714318
1402814319 - `"webhooks-2026-10-07"`
1402914320
14321 - `"admin-user-sign-out-2026-10-08"`
14322
1403014323 - `"message-threads-2026-08-12"`
1403114324
1403214325 - `"analytics-usage-cost-2026-08-24"`
from line 14514
1422114514
1422214515 - `"webhooks-2026-10-07"`
1422314516
14517 - `"admin-user-sign-out-2026-10-08"`
14518
1422414519 - `"message-threads-2026-08-12"`
1422514520
1422614521 - `"analytics-usage-cost-2026-08-24"`
from line 14756
1446114756
1446214757 - `"webhooks-2026-10-07"`
1446314758
14759 - `"admin-user-sign-out-2026-10-08"`
14760
1446414761 - `"message-threads-2026-08-12"`
1446514762
1446614763 - `"analytics-usage-cost-2026-08-24"`
from line 14976
1467914976
1468014977 - `"webhooks-2026-10-07"`
1468114978
14979 - `"admin-user-sign-out-2026-10-08"`
14980
1468214981 - `"message-threads-2026-08-12"`
1468314982
1468414983 - `"analytics-usage-cost-2026-08-24"`
from line 15191
1489215191
1489315192 - `"webhooks-2026-10-07"`
1489415193
15194 - `"admin-user-sign-out-2026-10-08"`
15195
1489515196 - `"message-threads-2026-08-12"`
1489615197
1489715198 - `"analytics-usage-cost-2026-08-24"`
from line 17327
1702617327
1702717328- `agent_ids: optional array of string`
1702817329
17029 Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only.
17330 Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Platform organizations only.
1703017331
1703117332 maxItems: 100
1703217333
1703317334- `api_key_ids: optional array of string`
1703417335
17035 Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only.
17336 Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Platform organizations only.
1703617337
1703717338 maxItems: 100
1703817339
1703917340- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1704017341
17041 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
17342 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1704217343
1704317344 maxItems: 100
1704417345
from line 17371
1707017371
1707117372- `deployment_ids: optional array of string`
1707217373
17073 Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only.
17374 Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Platform organizations only.
1707417375
1707517376 maxItems: 100
1707617377
from line 17383
1708217383
1708317384- `environment_ids: optional array of string`
1708417385
17085 Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only.
17386 Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Platform organizations only.
1708617387
1708717388 maxItems: 100
1708817389
from line 17421
1712017421
1712117422 - `"model"`
1712217423
17424 - `"organization_id"`
17425
1712317426 - `"product"`
1712417427
1712517428 - `"rbac_group_id"`
from line 17485
1718217485
1718317486 - `"uncached_input_tokens"`
1718417487
17488- `organization_ids: optional array of string`
17489
17490 Filter a parent organization's report to specific child organizations, by organization UUID or `org_` ID; an ID that is not one of its child organizations matches nothing. Requires an API key created at the parent organization level. Use `group_by[]=organization_id` to break out per-organization values.
17491
17492 maxItems: 100
17493
1718517494- `page: optional string`
1718617495
1718717496 Opaque cursor from a previous response's `next_page` field.
from line 17533
1722417533
1722517534- `service_tiers: optional array of BetaAnalyticsServiceTier`
1722617535
17227 Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization.
17536 Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Platform organizations only; matches nothing for a Claude Enterprise organization.
1722817537
1722917538 maxItems: 100
1723017539
from line 17551
1724217551
1724317552- `session_ids: optional array of string`
1724417553
17245 Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only.
17554 Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Platform organizations only.
1724617555
1724717556 maxItems: 100
1724817557
from line 17583
1727417583
1727517584- `user_profile_ids: optional array of string`
1727617585
17277 Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only.
17586 Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Platform organizations only.
1727817587
1727917588 maxItems: 100
1728017589
1728117590- `workspace_ids: optional array of string`
1728217591
17283 Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization.
17592 Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Platform organizations only; matches nothing for a Claude Enterprise organization.
1728417593
1728517594 maxItems: 100
1728617595
from line 17601
1729217601
1729317602 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
1729417603
17295- `"anthropic-beta": optional array of AnthropicBeta`
17604- `"anthropic-beta": array of AnthropicBeta`
1729617605
1729717606 This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header.
1729817607
from line 17711
1740217711
1740317712 - `"webhooks-2026-10-07"`
1740417713
17714 - `"admin-user-sign-out-2026-10-08"`
17715
1740517716 - `"message-threads-2026-08-12"`
1740617717
1740717718 - `"analytics-usage-cost-2026-08-24"`
from line 17847
1753617847
1753717848 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1753817849
17539 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time.
17850 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1754017851
1754117852 - `"dm"`
1754217853
from line 17891
1758017891
1758117892 Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution.
1758217893
17894 - `organization_id: string or null`
17895
17896 UUID of the child organization the usage belongs to, on a parent organization's report across its children. Null unless `organization_id` is in `group_by[]`.
17897
1758317898 - `product: string or null`
1758417899
1758517900 Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only where Chat and Cowork unified is available. Some unattributed usage is reported as "other".
from line 17925
1761017925
1761117926 - `slack_channel_id: string or null`
1761217927
17613 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
17928 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
1761417929
1761517930 - `speed: BetaAnalyticsSpeed or null`
1761617931
from line 18045
1773018045 "environment_id": "env_017oTjuGedHtjhJauVC5xGJD",
1773118046 "inference_geo": "global",
1773218047 "model": "claude-opus-5-5",
18048 "organization_id": "12345678-1234-5678-1234-567812345678",
1773318049 "product": "chat",
1773418050 "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF",
1773518051 "service_tier": "standard",
from line 18124
1780818124
1780918125- `agent_ids: optional array of string`
1781018126
17811 Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Developer Platform organizations only.
18127 Filter to usage incurred by sessions of specific Claude Managed Agents agents. Use `group_by[]=agent_id` to break out per-agent values. Claude Platform organizations only.
1781218128
1781318129 maxItems: 100
1781418130
1781518131- `api_key_ids: optional array of string`
1781618132
17817 Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Developer Platform organizations only.
18133 Filter to usage authenticated by specific API keys, by tagged API key ID (`apikey_...`), whichever identity the usage is attributed to. Include an empty entry (`api_key_ids[]=`) to also match usage that no API key authenticated. Use `group_by[]=api_key_id` to break out per-key values; usage without a key has a null `api_key_id`. Claude Platform organizations only.
1781818134
1781918135 maxItems: 100
1782018136
1782118137- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1782218138
17823 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude_tag`, so combining this filter with `products[]=claude_tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
18139 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1782418140
1782518141 maxItems: 100
1782618142
from line 18168
1785218168
1785318169- `deployment_ids: optional array of string`
1785418170
17855 Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Developer Platform organizations only.
18171 Filter to usage incurred by Claude Managed Agents sessions that specific deployments started. Use `group_by[]=deployment_id` to break out per-deployment values. Claude Platform organizations only.
1785618172
1785718173 maxItems: 100
1785818174
from line 18180
1786418180
1786518181- `environment_ids: optional array of string`
1786618182
17867 Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Developer Platform organizations only.
18183 Filter to usage incurred by Claude Managed Agents sessions that ran in specific environments. Use `group_by[]=environment_id` to break out per-environment values. Claude Platform organizations only.
1786818184
1786918185 maxItems: 100
1787018186
from line 18220
1790418220
1790518221 - `"model"`
1790618222
18223 - `"organization_id"`
18224
1790718225 - `"product"`
1790818226
1790918227 - `"rbac_group_id"`
from line 18282
1796418282
1796518283 - `"time"`
1796618284
18285- `organization_ids: optional array of string`
18286
18287 Filter a parent organization's report to specific child organizations, by organization UUID or `org_` ID; an ID that is not one of its child organizations matches nothing. Requires an API key created at the parent organization level. Use `group_by[]=organization_id` to break out per-organization values.
18288
18289 maxItems: 100
18290
1796718291- `page: optional string`
1796818292
1796918293 Opaque cursor from a previous response's `next_page` field.
from line 18330
1800618330
1800718331- `service_tiers: optional array of BetaAnalyticsServiceTier`
1800818332
18009 Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization.
18333 Filter to specific service tiers. Use `group_by[]=service_tier` to break out per-tier values. Claude Platform organizations only; matches nothing for a Claude Enterprise organization.
1801018334
1801118335 maxItems: 100
1801218336
from line 18348
1802418348
1802518349- `session_ids: optional array of string`
1802618350
18027 Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Developer Platform organizations only.
18351 Filter to usage incurred by specific Claude Managed Agents sessions, by tagged session ID (`sesn_...`). Use `group_by[]=session_id` to break out per-session values. Claude Platform organizations only.
1802818352
1802918353 maxItems: 100
1803018354
from line 18380
1805618380
1805718381- `user_profile_ids: optional array of string`
1805818382
18059 Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Developer Platform organizations only.
18383 Filter to usage attributed to specific user profiles, by tagged user profile ID (`uprof_...`). Use `group_by[]=user_profile_id` to break out per-profile values. Claude Platform organizations only.
1806018384
1806118385 maxItems: 100
1806218386
1806318387- `workspace_ids: optional array of string`
1806418388
18065 Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Developer Platform organizations only; matches nothing for a Claude Enterprise organization.
18389 Filter to usage in specific workspaces, by tagged workspace ID (`wrkspc_...`). Use `group_by[]=workspace_id` to break out per-workspace values. Claude Platform organizations only; matches nothing for a Claude Enterprise organization.
1806618390
1806718391 maxItems: 100
1806818392
from line 18398
1807418398
1807518399 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
1807618400
18077- `"anthropic-beta": optional array of AnthropicBeta`
18401- `"anthropic-beta": array of AnthropicBeta`
1807818402
1807918403 This endpoint is in beta: requests must send `analytics-usage-cost-2026-08-24` in this header.
1808018404
from line 18508
1818418508
1818518509 - `"webhooks-2026-10-07"`
1818618510
18511 - `"admin-user-sign-out-2026-10-08"`
18512
1818718513 - `"message-threads-2026-08-12"`
1818818514
1818918515 - `"analytics-usage-cost-2026-08-24"`
from line 18666
1834018666
1834118667 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1834218668
18343 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude_tag`. New categories may be added over time.
18669 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1834418670
1834518671 - `"dm"`
1834618672
from line 18722
1839618722
1839718723 Model that produced the usage or cost, as a model name in the form the `models[]` filter accepts (for example, `claude-opus-5-5`). Null unless `model` is in `group_by[]`; it can also be null on grouped rows whose usage or cost is not attributed to a specific model, such as code execution.
1839818724
18725 - `organization_id: string or null`
18726
18727 UUID of the child organization the usage belongs to, on a parent organization's report across its children. Null unless `organization_id` is in `group_by[]`.
18728
1839918729 - `product: string or null`
1840018730
1840118731 Product surface that produced the usage or cost. Null unless product is in `group_by[]`; it can also be null on grouped rows whose usage cannot be attributed to a known surface. Values include `chat`, `claude_code`, `cowork`, `office_agent`, `claude_in_chrome`, `claude_design`, `claude_tag`, and `chat_cowork_unified`. `claude_tag` is Claude Tag, the Claude product in Slack. `chat_cowork_unified` is Chat and Cowork unified, Cowork's features inside claude.ai chat: chat and Cowork usage by a member who has it turned on is reported under this value instead of `chat` or `cowork`. It is accepted as a filter only where Chat and Cowork unified is available. Some unattributed usage is reported as "other".
from line 18756
1842618756
1842718757 - `slack_channel_id: string or null`
1842818758
18429 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
18759 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
1843018760
1843118761 - `speed: BetaAnalyticsSpeed or null`
1843218762
from line 18849
1851918849 "environment_id": "env_017oTjuGedHtjhJauVC5xGJD",
1852018850 "inference_geo": "global",
1852118851 "model": "claude-opus-5-5",
18852 "organization_id": "12345678-1234-5678-1234-567812345678",
1852218853 "product": "chat",
1852318854 "rbac_group_id": "rbac_group_012rppKaSVsmTo6NqRDXQXNF",
1852418855 "service_tier": "standard",
from line 18903
1857218903
1857318904- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1857418905
18575 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
18906 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1857618907
1857718908 maxItems: 100
1857818909
from line 19087
1875619087
1875719088 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1875819089
18759 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time.
19090 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1876019091
1876119092 - `"dm"`
1876219093
from line 19149
1881819149
1881919150 - `slack_channel_id: string or null`
1882019151
18821 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
19152 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
1882219153
1882319154 - `speed: "fast" or "standard" or null`
1882419155
from line 19244
1891319244
1891419245[Legacy] Get per-user token usage across a date range.
1891519246
18916Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included; usage with no user attributed to it, such as Code Review usage and Claude Tag usage in Slack channels, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope.
19247Returns usage per user, ranked by the chosen token metric; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users consume the most tokens. Only usage attributed to a user account is included, so usage with no user account, such as Code Review usage and Claude Tag usage in Slack channels, is left out. Claude Tag one-to-one direct messages are included, with product `claude-tag`, only for members who have connected a Claude account. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope.
1891719248
1891819249This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/usage`](https://platform.claude.com/docs/en/api/beta/organization/analytics/usage/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports).
1891919250
from line 19268
1893719268
1893819269- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1893919270
18940 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
19271 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1894119272
1894219273 maxItems: 100
1894319274
from line 19454
1912319454
1912419455 The user this row's usage or cost is attributed to. Always a `user_actor`.
1912519456
19126 - `type: "user_actor"`
19457 - `BetaAnalyticsUserActor object`
1912719458
19128 Actor type. Always `"user_actor"`.
19459 - `type: "user_actor"`
1912919460
19130 - `deleted: boolean`
19461 Actor type. Always `"user_actor"`.
1913119462
19132 True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation.
19463 - `deleted: boolean`
1913319464
19134 - `email_address: string or null`
19465 True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation.
1913519466
19136 The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`).
19467 - `email_address: string or null`
1913719468
19138 - `name: string or null`
19469 The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`).
1913919470
19140 The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"`) or null.
19471 - `name: string or null`
1914119472
19142 - `user_id: string`
19473 The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"`) or null.
19474
19475 - `user_id: string`
1914319476
19144 Tagged user ID.
19477 Tagged user ID.
1914519478
1914619479 - `cache_creation: BetaCacheCreation`
1914719480
from line 19498
1916519498
1916619499 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1916719500
19168 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time.
19501 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1916919502
1917019503 - `"dm"`
1917119504
from line 19566
1923319566
1923419567 - `slack_channel_id: string or null`
1923519568
19236 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
19569 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
1923719570
1923819571 - `speed: "fast" or "standard" or null`
1923919572
from line 19695
1936219695
1936319696- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1936419697
19365 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
19698 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1936619699
1936719700 maxItems: 100
1936819701
from line 19867
1953419867
1953519868 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1953619869
19537 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time.
19870 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1953819871
1953919872 - `"dm"`
1954019873
from line 19937
1960419937
1960519938 - `slack_channel_id: string or null`
1960619939
19607 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
19940 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
1960819941
1960919942 - `speed: "fast" or "standard" or null`
1961019943
from line 20037
1970420037
1970520038[Legacy] Get per-user cost in USD across a date range.
1970620039
19707Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included; cost with no user attributed to it, such as Code Review usage and Claude Tag usage in Slack channels, is left out. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope.
20040Returns cost per user, ranked by spend; `group_by[]` or `bucket_width` splits a user across several rows. Use this to see which users account for the most cost. Only cost attributed to a user account is included, so cost with no user account, such as Code Review usage and Claude Tag usage in Slack channels, is left out. Claude Tag one-to-one direct messages are included, with product `claude-tag`, only for members who have connected a Claude account. Available to organizations on a Claude Enterprise plan. Requires an API key with the `read:analytics` scope.
1970820041
1970920042This endpoint is one of the legacy Claude Enterprise usage and cost reports. For new integrations, use [`GET /v1/organizations/analytics/cost`](https://platform.claude.com/docs/en/api/beta/organization/analytics/cost/list?sdk_languages=http) in the Usage and Cost Analytics API instead. To move an existing integration, see [Migrate from the Claude Enterprise usage and cost reports](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api?sdk_languages=http#migrate-from-enterprise-analytics-reports).
1971020043
from line 20061
1972820061
1972920062- `claude_tag_categories: optional array of BetaAnalyticsClaudeTagCategory`
1973020063
19731 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. `dm` usage is reported under the user's product rather than `claude-tag`, so combining this filter with `products[]=claude-tag` excludes it. Use `group_by[]=claude_tag_category` to break out per-category values.
20064 Filter to Claude Tag (Claude in Slack) usage in specific spend categories. Usage with no category never matches. Use `group_by[]=claude_tag_category` to break out per-category values.
1973220065
1973320066 maxItems: 100
1973420067
from line 20247
1991420247
1991520248 The user this row's usage or cost is attributed to. Always a `user_actor`.
1991620249
19917 - `type: "user_actor"`
20250 - `BetaAnalyticsUserActor object`
1991820251
19919 Actor type. Always `"user_actor"`.
20252 - `type: "user_actor"`
1992020253
19921 - `deleted: boolean`
20254 Actor type. Always `"user_actor"`.
1992220255
19923 True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation.
20256 - `deleted: boolean`
1992420257
19925 - `email_address: string or null`
20258 True when the account has been deleted, or when the user is no longer a member of the organization or its associated organizations (for example, their membership was removed or they were deprovisioned via your identity provider). `email_address` stays populated for removed users and is null when the account has been deleted. `name` follows the rules described on that field. The `user_id` is still populated for reconciliation.
1992620259
19927 The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`).
20260 - `email_address: string or null`
1992820261
19929 - `name: string or null`
20262 The user's email address, including for users who are no longer members of the organization or its associated organizations. Null when the account has been deleted (check `deleted`) and for system-minted service accounts, which have no person's mailbox behind them (check `name`).
1993020263
19931 The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"`) or null.
20264 - `name: string or null`
1993220265
19933 - `user_id: string`
20266 The user's full name. Null when the user has not set a name. Returns `"Deleted User"` when the account itself has been deleted, or when the user is no longer a member of the organization or its associated organizations and the organization has chosen to hide the names of removed users. Otherwise, the name stays populated for removed users. Rows for system-minted service accounts render the service name (for example, `"Claude Security"`) or null.
1993420267
19935 Tagged user ID.
20268 - `user_id: string`
20269
20270 Tagged user ID.
1993620271
1993720272 - `amount: string`
1993820273
from line 20275
1994020275
1994120276 - `claude_tag_category: BetaAnalyticsClaudeTagCategory or null`
1994220277
19943 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. Direct-message usage is billed to the individual user and is reported under that user's product, not under `claude-tag`. New categories may be added over time.
20278 Claude Tag (Claude in Slack) spend category: `engaged` (a person addressed Claude in a channel or thread), `proactive` (Claude responded without being addressed), `scheduled` (a scheduled routine ran), `monitoring` (Claude watching a channel it was asked to monitor), or `dm` (direct messages with Claude). Populated only when `claude_tag_category` is in `group_by[]`; null for usage that is not Claude Tag. New categories may be added over time.
1994420279
1994520280 - `"dm"`
1994620281
from line 20351
2001620351
2001720352 - `slack_channel_id: string or null`
2001820353
20019 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack (and for rows recorded before channel attribution was enabled).
20354 Slack channel the usage originated from. Populated only when `slack_channel_id` is in `group_by[]`; null for usage outside Slack, for some Claude Tag usage that has no channel recorded, and for usage recorded before channel attribution was enabled.
2002020355
2002120356 - `speed: "fast" or "standard" or null`
2002220357
from line 20580
2024520580
2024620581 - `"webhooks-2026-10-07"`
2024720582
20583 - `"admin-user-sign-out-2026-10-08"`
20584
2024820585 - `"message-threads-2026-08-12"`
2024920586
2025020587 - `"analytics-usage-cost-2026-08-24"`
from line 21085
2074821085
2074921086 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
2075021087
20751- `"anthropic-beta": optional array of AnthropicBeta`
21088- `"anthropic-beta": array of AnthropicBeta`
2075221089
2075321090 This endpoint is in beta: requests must send `spend-limit-reads-2026-09-26` in this header.
2075421091
from line 21195
2085821195
2085921196 - `"webhooks-2026-10-07"`
2086021197
21198 - `"admin-user-sign-out-2026-10-08"`
21199
2086121200 - `"message-threads-2026-08-12"`
2086221201
2086321202 - `"analytics-usage-cost-2026-08-24"`
from line 23749
2341023749
2341123750 - `display_name: string`
2341223751
23413 Name of the RBAC Role. For a role created by Anthropic, this name can differ from the label claude.ai shows, and Anthropic may change the name. To keep a lasting reference to a role, store its `id`.
23752 Name of the RBAC Role. For a role created by Anthropic, this is Anthropic's name for the access that the role grants. Anthropic may change this name, so to keep a lasting reference to a role, store its `id`.
2341423753
2341523754 - `updated_at: string`
2341623755
from line 23838
2349923838
2350023839 - `display_name: string`
2350123840
23502 Name of the RBAC Role. For a role created by Anthropic, this name can differ from the label claude.ai shows, and Anthropic may change the name. To keep a lasting reference to a role, store its `id`.
23841 Name of the RBAC Role. For a role created by Anthropic, this is Anthropic's name for the access that the role grants. Anthropic may change this name, so to keep a lasting reference to a role, store its `id`.
2350323842
2350423843 - `updated_at: string`
2350523844
from line 23925
2358623925 permission entitlement (`permission_*`), or a blanket capability-access
2358723926 mode — `capability_access_all` grants every product-feature entitlement
2358823927 except `inference_hooks_inspection`, which a role holds only through its
23589 own row, and `capability_access_all_ga` grants the generally-available
23590 subset of those as it stands at permission-check time; neither mode grants
23928 own row, and `capability_access_all_ga` grants the subset of those for
23929 stable features as it stands at permission-check time; neither mode grants
2359123930 model-access entitlements. A consumer enumerating a role's per-feature grants should
2359223931 treat a blanket row as granting every product-feature entitlement it
2359323932 covers, or it will under-report the role's effective access. A `connector_tool` grant carries
from line 24076
2373724076returns a 409 with `error_code` `plugin_name_taken` and, when a Plugin holds it,
2373824077that Plugin's ID in `details.plugin_id`. A Plugin going into the organization's
2373924078library marketplace is also refused with a 409 when one of its skills has the name of
23740an organization skill (a skill an administrator uploaded for the whole organization
23741in claude.ai): `error_code` `skill_name_taken`, with that name in
23742`details.skill_name`; rename the skill, or remove the organization skill in
23743claude.ai. A 503 with `error_code`
24079an organization skill that this API does not list: `error_code`
24080`skill_name_taken`, with that name in `details.skill_name`; rename the skill, or
24081remove the organization skill in claude.ai. A 503 with `error_code`
2374424082`registration_pending` means the Plugin and its version were stored (their IDs are
2374524083in `details`) but are not yet usable in claude.ai: do not retry the create (the
2374624084retry would return `plugin_name_taken`); create a version on the stored Plugin
from line 24093
2375524093
2375624094#### Headers
2375724095
23758- `"anthropic-beta": optional array of AnthropicBeta`
24096- `"anthropic-beta": array of AnthropicBeta`
2375924097
2376024098 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2376124099
from line 24203
2386524203
2386624204 - `"webhooks-2026-10-07"`
2386724205
24206 - `"admin-user-sign-out-2026-10-08"`
24207
2386824208 - `"message-threads-2026-08-12"`
2386924209
2387024210 - `"analytics-usage-cost-2026-08-24"`
from line 24405
2406524405
2406624406 How far the served version reaches, or `null` if it is not classified.
2406724407
24068 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
24408 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
2406924409
24070 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
24410 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
2407124411
2407224412 - `"contained"`
2407324413
from line 24506
2416624506
2416724507#### Headers
2416824508
24169- `"anthropic-beta": optional array of AnthropicBeta`
24509- `"anthropic-beta": array of AnthropicBeta`
2417024510
2417124511 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2417224512
from line 24616
2427624616
2427724617 - `"webhooks-2026-10-07"`
2427824618
24619 - `"admin-user-sign-out-2026-10-08"`
24620
2427924621 - `"message-threads-2026-08-12"`
2428024622
2428124623 - `"analytics-usage-cost-2026-08-24"`
from line 24802
2446024802
2446124803 How far the served version reaches, or `null` if it is not classified.
2446224804
24463 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
24805 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
2446424806
24465 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
24807 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
2446624808
2446724809 - `"contained"`
2446824810
from line 24898
2455624898cannot be read at that moment, the request fails with a retryable 503 instead.
2455724899When the Plugin is in the organization's
2455824900library marketplace, a version other than the one served is also refused with a 409
24559when one of its skills has a name that an organization skill (one an administrator
24560uploaded for the whole organization in claude.ai) has since taken: `error_code`
24561`skill_name_taken`, with that name in `details.skill_name`. A member-owned Plugin
24562cannot be updated here (403).
24901when an organization skill that this API does not list has since taken the name of
24902one of its skills: `error_code` `skill_name_taken`, with that name in
24903`details.skill_name`. A member-owned Plugin cannot be updated here (403).
2456324904
2456424905This endpoint does not write installation settings; they are written at
2456524906`/v1/organizations/plugins/{plugin_id}/installation_settings/{target}`.
from line 24917
2457624917
2457724918#### Headers
2457824919
24579- `"anthropic-beta": optional array of AnthropicBeta`
24920- `"anthropic-beta": array of AnthropicBeta`
2458024921
2458124922 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2458224923
from line 25027
2468625027
2468725028 - `"webhooks-2026-10-07"`
2468825029
25030 - `"admin-user-sign-out-2026-10-08"`
25031
2468925032 - `"message-threads-2026-08-12"`
2469025033
2469125034 - `"analytics-usage-cost-2026-08-24"`
from line 25219
2487625219
2487725220 How far the served version reaches, or `null` if it is not classified.
2487825221
24879 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
25222 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
2488025223
24881 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
25224 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
2488225225
2488325226 - `"contained"`
2488425227
from line 25376
2503325376
2503425377#### Headers
2503525378
25036- `"anthropic-beta": optional array of AnthropicBeta`
25379- `"anthropic-beta": array of AnthropicBeta`
2503725380
2503825381 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2503925382
from line 25486
2514325486
2514425487 - `"webhooks-2026-10-07"`
2514525488
25489 - `"admin-user-sign-out-2026-10-08"`
25490
2514625491 - `"message-threads-2026-08-12"`
2514725492
2514825493 - `"analytics-usage-cost-2026-08-24"`
from line 25672
2532725672
2532825673 How far the served version reaches, or `null` if it is not classified.
2532925674
25330 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
25675 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
2533125676
25332 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
25677 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
2533325678
2533425679 - `"contained"`
2533525680
from line 25762
2541725762
2541825763Permanently delete a Plugin and every version it holds, exactly as when an
2541925764administrator deletes it in claude.ai. The Plugin may belong to the organization or
25420to a member, including a member who has since left the organization.
25765to a member, including a member who has since left the organization. Do not delete a
25766Plugin only because your pipeline did not create it: a member or an administrator
25767might have added it in claude.ai.
2542125768
2542225769An organization-owned Plugin's installation settings go with it; a member-owned
2542325770Plugin's shares are withdrawn and its owner no longer has it.
from line 25787
2544025787
2544125788#### Headers
2544225789
25443- `"anthropic-beta": optional array of AnthropicBeta`
25790- `"anthropic-beta": array of AnthropicBeta`
2544425791
2544525792 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2544625793
from line 25897
2555025897
2555125898 - `"webhooks-2026-10-07"`
2555225899
25900 - `"admin-user-sign-out-2026-10-08"`
25901
2555325902 - `"message-threads-2026-08-12"`
2555425903
2555525904 - `"analytics-usage-cost-2026-08-24"`
from line 25956
2560725956Only a Plugin in a `manual` marketplace takes uploads; a Plugin synchronized from
2560825957a repository gets its versions from the repository. When the Plugin is in the
2560925958organization's library marketplace, a version that adds a skill with the name of an
25610organization skill (a skill an administrator uploaded for the whole organization in
25611claude.ai) is refused with a 409: `error_code` `skill_name_taken`, with that name in
25612`details.skill_name`. A 503 with `error_code`
25959organization skill that this API does not list is refused with a 409: `error_code`
25960`skill_name_taken`, with that name in `details.skill_name`. A 503 with `error_code`
2561325961`registration_pending` means the version was stored but is not yet usable; a later
2561425962version create on the Plugin completes it.
2561525963
from line 25976
2562825976
2562925977#### Headers
2563025978
25631- `"anthropic-beta": optional array of AnthropicBeta`
25979- `"anthropic-beta": array of AnthropicBeta`
2563225980
2563325981 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2563425982
from line 26086
2573826086
2573926087 - `"webhooks-2026-10-07"`
2574026088
26089 - `"admin-user-sign-out-2026-10-08"`
26090
2574126091 - `"message-threads-2026-08-12"`
2574226092
2574326093 - `"analytics-usage-cost-2026-08-24"`
from line 26218
2586826218
2586926219 - `description: string or null`
2587026220
25871 The manifest's description; null when it declares none.
26221 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
2587226222
2587326223 - `display_name: string or null`
2587426224
from line 26331
2598126331
2598226332#### Headers
2598326333
25984- `"anthropic-beta": optional array of AnthropicBeta`
26334- `"anthropic-beta": array of AnthropicBeta`
2598526335
2598626336 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2598726337
from line 26441
2609126441
2609226442 - `"webhooks-2026-10-07"`
2609326443
26444 - `"admin-user-sign-out-2026-10-08"`
26445
2609426446 - `"message-threads-2026-08-12"`
2609526447
2609626448 - `"analytics-usage-cost-2026-08-24"`
from line 26561
2620926561
2621026562 - `description: string or null`
2621126563
26212 The manifest's description; null when it declares none.
26564 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
2621326565
2621426566 - `display_name: string or null`
2621526567
from line 26668
2631626668
2631726669#### Headers
2631826670
26319- `"anthropic-beta": optional array of AnthropicBeta`
26671- `"anthropic-beta": array of AnthropicBeta`
2632026672
2632126673 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2632226674
from line 26778
2642626778
2642726779 - `"webhooks-2026-10-07"`
2642826780
26781 - `"admin-user-sign-out-2026-10-08"`
26782
2642926783 - `"message-threads-2026-08-12"`
2643026784
2643126785 - `"analytics-usage-cost-2026-08-24"`
from line 26898
2654426898
2654526899 - `description: string or null`
2654626900
26547 The manifest's description; null when it declares none.
26901 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
2654826902
2654926903 - `display_name: string or null`
2655026904
from line 27012
2665827012
2665927013#### Headers
2666027014
26661- `"anthropic-beta": optional array of AnthropicBeta`
27015- `"anthropic-beta": array of AnthropicBeta`
2666227016
2666327017 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2666427018
from line 27122
2676827122
2676927123 - `"webhooks-2026-10-07"`
2677027124
27125 - `"admin-user-sign-out-2026-10-08"`
27126
2677127127 - `"message-threads-2026-08-12"`
2677227128
2677327129 - `"analytics-usage-cost-2026-08-24"`
from line 27192
2683627192
2683727193#### Headers
2683827194
26839- `"anthropic-beta": optional array of AnthropicBeta`
27195- `"anthropic-beta": array of AnthropicBeta`
2684027196
2684127197 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2684227198
from line 27302
2694627302
2694727303 - `"webhooks-2026-10-07"`
2694827304
27305 - `"admin-user-sign-out-2026-10-08"`
27306
2694927307 - `"message-threads-2026-08-12"`
2695027308
2695127309 - `"analytics-usage-cost-2026-08-24"`
from line 27451
2709327451
2709427452#### Headers
2709527453
27096- `"anthropic-beta": optional array of AnthropicBeta`
27454- `"anthropic-beta": array of AnthropicBeta`
2709727455
2709827456 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2709927457
from line 27561
2720327561
2720427562 - `"webhooks-2026-10-07"`
2720527563
27564 - `"admin-user-sign-out-2026-10-08"`
27565
2720627566 - `"message-threads-2026-08-12"`
2720727567
2720827568 - `"analytics-usage-cost-2026-08-24"`
from line 27727
2736727727
2736827728#### Headers
2736927729
27370- `"anthropic-beta": optional array of AnthropicBeta`
27730- `"anthropic-beta": array of AnthropicBeta`
2737127731
2737227732 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2737327733
from line 27837
2747727837
2747827838 - `"webhooks-2026-10-07"`
2747927839
27840 - `"admin-user-sign-out-2026-10-08"`
27841
2748027842 - `"message-threads-2026-08-12"`
2748127843
2748227844 - `"analytics-usage-cost-2026-08-24"`
from line 27977
2761527977
2761627978#### Headers
2761727979
27618- `"anthropic-beta": optional array of AnthropicBeta`
27980- `"anthropic-beta": array of AnthropicBeta`
2761927981
2762027982 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2762127983
from line 28087
2772528087
2772628088 - `"webhooks-2026-10-07"`
2772728089
28090 - `"admin-user-sign-out-2026-10-08"`
28091
2772828092 - `"message-threads-2026-08-12"`
2772928093
2773028094 - `"analytics-usage-cost-2026-08-24"`
from line 28153
2778928153
2779028154- `next_page: string or null`
2779128155
27792 Token to provide in as `page` in the subsequent request to retrieve the next page of data.
28156 Token to provide in as `page` in the subsequent request to retrieve the next page of data. A page may hold fewer than `limit` shares, even none, while this is set; keep following it until it is null.
2779328157
2779428158#### Example
2779528159
from line 28244
2788028244
2788128245#### Headers
2788228246
27883- `"anthropic-beta": optional array of AnthropicBeta`
28247- `"anthropic-beta": array of AnthropicBeta`
2788428248
2788528249 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2788628250
from line 28354
2799028354
2799128355 - `"webhooks-2026-10-07"`
2799228356
28357 - `"admin-user-sign-out-2026-10-08"`
28358
2799328359 - `"message-threads-2026-08-12"`
2799428360
2799528361 - `"analytics-usage-cost-2026-08-24"`
from line 28523
2815728523
2815828524#### Headers
2815928525
28160- `"anthropic-beta": optional array of AnthropicBeta`
28526- `"anthropic-beta": array of AnthropicBeta`
2816128527
2816228528 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2816328529
from line 28633
2826728633
2826828634 - `"webhooks-2026-10-07"`
2826928635
28636 - `"admin-user-sign-out-2026-10-08"`
28637
2827028638 - `"message-threads-2026-08-12"`
2827128639
2827228640 - `"analytics-usage-cost-2026-08-24"`
from line 28792
2842428792
2842528793#### Headers
2842628794
28427- `"anthropic-beta": optional array of AnthropicBeta`
28795- `"anthropic-beta": array of AnthropicBeta`
2842828796
2842928797 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2843028798
from line 28902
2853428902
2853528903 - `"webhooks-2026-10-07"`
2853628904
28905 - `"admin-user-sign-out-2026-10-08"`
28906
2853728907 - `"message-threads-2026-08-12"`
2853828908
2853928909 - `"analytics-usage-cost-2026-08-24"`
from line 29083
2871329083
2871429084#### Headers
2871529085
28716- `"anthropic-beta": optional array of AnthropicBeta`
29086- `"anthropic-beta": array of AnthropicBeta`
2871729087
2871829088 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2871929089
from line 29193
2882329193
2882429194 - `"webhooks-2026-10-07"`
2882529195
29196 - `"admin-user-sign-out-2026-10-08"`
29197
2882629198 - `"message-threads-2026-08-12"`
2882729199
2882829200 - `"analytics-usage-cost-2026-08-24"`
from line 29361
2898929361
2899029362#### Headers
2899129363
28992- `"anthropic-beta": optional array of AnthropicBeta`
29364- `"anthropic-beta": array of AnthropicBeta`
2899329365
2899429366 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
2899529367
from line 29471
2909929471
2910029472 - `"webhooks-2026-10-07"`
2910129473
29474 - `"admin-user-sign-out-2026-10-08"`
29475
2910229476 - `"message-threads-2026-08-12"`
2910329477
2910429478 - `"analytics-usage-cost-2026-08-24"`
from line 29733
2935929733
2936029734 - `"webhooks-2026-10-07"`
2936129735
29736 - `"admin-user-sign-out-2026-10-08"`
29737
2936229738 - `"message-threads-2026-08-12"`
2936329739
2936429740 - `"analytics-usage-cost-2026-08-24"`
from line 30216
2984030216
2984130217 - `"webhooks-2026-10-07"`
2984230218
30219 - `"admin-user-sign-out-2026-10-08"`
30220
2984330221 - `"message-threads-2026-08-12"`
2984430222
2984530223 - `"analytics-usage-cost-2026-08-24"`
from line 30577
3019930577
3020030578 - `"webhooks-2026-10-07"`
3020130579
30580 - `"admin-user-sign-out-2026-10-08"`
30581
3020230582 - `"message-threads-2026-08-12"`
3020330583
3020430584 - `"analytics-usage-cost-2026-08-24"`
from line 30933
3055330933
3055430934 - `"webhooks-2026-10-07"`
3055530935
30936 - `"admin-user-sign-out-2026-10-08"`
30937
3055630938 - `"message-threads-2026-08-12"`
3055730939
3055830940 - `"analytics-usage-cost-2026-08-24"`
from line 31423
3104131423
3104231424 - `"webhooks-2026-10-07"`
3104331425
31426 - `"admin-user-sign-out-2026-10-08"`
31427
3104431428 - `"message-threads-2026-08-12"`
3104531429
3104631430 - `"analytics-usage-cost-2026-08-24"`
from line 31592
3120831592
3120931593 - `"webhooks-2026-10-07"`
3121031594
31595 - `"admin-user-sign-out-2026-10-08"`
31596
3121131597 - `"message-threads-2026-08-12"`
3121231598
3121331599 - `"analytics-usage-cost-2026-08-24"`
from line 31797
3141131797
3141231798 - `"webhooks-2026-10-07"`
3141331799
31800 - `"admin-user-sign-out-2026-10-08"`
31801
3141431802 - `"message-threads-2026-08-12"`
3141531803
3141631804 - `"analytics-usage-cost-2026-08-24"`
from line 31996
3160831996
3160931997 - `"webhooks-2026-10-07"`
3161031998
31999 - `"admin-user-sign-out-2026-10-08"`
32000
3161132001 - `"message-threads-2026-08-12"`
3161232002
3161332003 - `"analytics-usage-cost-2026-08-24"`
from line 32189
3179932189
3180032190 - `"webhooks-2026-10-07"`
3180132191
32192 - `"admin-user-sign-out-2026-10-08"`
32193
3180232194 - `"message-threads-2026-08-12"`
3180332195
3180432196 - `"analytics-usage-cost-2026-08-24"`
from line 32257
3186532257
3186632258 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3186732259
31868- `"anthropic-beta": optional array of AnthropicBeta`
32260- `"anthropic-beta": array of AnthropicBeta`
3186932261
3187032262 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3187132263
from line 32367
3197532367
3197632368 - `"webhooks-2026-10-07"`
3197732369
32370 - `"admin-user-sign-out-2026-10-08"`
32371
3197832372 - `"message-threads-2026-08-12"`
3197932373
3198032374 - `"analytics-usage-cost-2026-08-24"`
from line 32377
3198332377
3198432378#### Body parameters
3198532379
31986- `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
32380- `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3198732381
3198832382 The event types to deliver to the endpoint. Must list at least one.
3198932383
from line 32385
3199132385
3199232386 - `"user_profile.enforcement_action_resolved"`
3199332387
32388 - `"user_profile.program_status_updated"`
32389
3199432390- `url: string`
3199532391
3199632392 The HTTPS URL that deliveries are sent to.
from line 32425
3202932425
3203032426 Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it.
3203132427
32032 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
32428 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3203332429
3203432430 The event types delivered to the endpoint.
3203532431
from line 32433
3203732433
3203832434 - `"user_profile.enforcement_action_resolved"`
3203932435
32436 - `"user_profile.program_status_updated"`
32437
3204032438 - `name: string`
3204132439
3204232440 A short label for the endpoint. An empty string when none was given.
from line 32539
3214132539
3214232540 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3214332541
32144- `"anthropic-beta": optional array of AnthropicBeta`
32542- `"anthropic-beta": array of AnthropicBeta`
3214532543
3214632544 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3214732545
from line 32649
3225132649
3225232650 - `"webhooks-2026-10-07"`
3225332651
32652 - `"admin-user-sign-out-2026-10-08"`
32653
3225432654 - `"message-threads-2026-08-12"`
3225532655
3225632656 - `"analytics-usage-cost-2026-08-24"`
from line 32681
3228132681
3228232682 Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it.
3228332683
32284 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
32684 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3228532685
3228632686 The event types delivered to the endpoint.
3228732687
from line 32689
3228932689
3229032690 - `"user_profile.enforcement_action_resolved"`
3229132691
32692 - `"user_profile.program_status_updated"`
32693
3229232694 - `name: string`
3229332695
3229432696 A short label for the endpoint. An empty string when none was given.
from line 32783
3238132783
3238232784 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3238332785
32384- `"anthropic-beta": optional array of AnthropicBeta`
32786- `"anthropic-beta": array of AnthropicBeta`
3238532787
3238632788 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3238732789
from line 32893
3249132893
3249232894 - `"webhooks-2026-10-07"`
3249332895
32896 - `"admin-user-sign-out-2026-10-08"`
32897
3249432898 - `"message-threads-2026-08-12"`
3249532899
3249632900 - `"analytics-usage-cost-2026-08-24"`
from line 32926
3252232926
3252332927 Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it.
3252432928
32525 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
32929 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3252632930
3252732931 The event types delivered to the endpoint.
3252832932
from line 32934
3253032934
3253132935 - `"user_profile.enforcement_action_resolved"`
3253232936
32937 - `"user_profile.program_status_updated"`
32938
3253332939 - `name: string`
3253432940
3253532941 A short label for the endpoint. An empty string when none was given.
from line 33009
3260333009
3260433010 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3260533011
32606- `"anthropic-beta": optional array of AnthropicBeta`
33012- `"anthropic-beta": array of AnthropicBeta`
3260733013
3260833014 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3260933015
from line 33119
3271333119
3271433120 - `"webhooks-2026-10-07"`
3271533121
33122 - `"admin-user-sign-out-2026-10-08"`
33123
3271633124 - `"message-threads-2026-08-12"`
3271733125
3271833126 - `"analytics-usage-cost-2026-08-24"`
from line 33133
3272533133
3272633134 Notes about the endpoint.
3272733135
32728- `enabled_events: optional array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
33136- `enabled_events: optional array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3272933137
3273033138 The event types to deliver to the endpoint. Replaces the whole set; an empty list leaves it unchanged.
3273133139
from line 33141
3273333141
3273433142 - `"user_profile.enforcement_action_resolved"`
3273533143
33144 - `"user_profile.program_status_updated"`
33145
3273633146- `name: optional string`
3273733147
3273833148 A short label for the endpoint.
from line 33186
3277633186
3277733187 Why Anthropic disabled the endpoint automatically. An empty string when the endpoint is enabled, or when you disabled it.
3277833188
32779 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved"`
33189 - `enabled_events: array of "user_profile.enforcement_action_opened" or "user_profile.enforcement_action_resolved" or "user_profile.program_status_updated"`
3278033190
3278133191 The event types delivered to the endpoint.
3278233192
from line 33194
3278433194
3278533195 - `"user_profile.enforcement_action_resolved"`
3278633196
33197 - `"user_profile.program_status_updated"`
33198
3278733199 - `name: string`
3278833200
3278933201 A short label for the endpoint. An empty string when none was given.
from line 33271
3285933271
3286033272 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3286133273
32862- `"anthropic-beta": optional array of AnthropicBeta`
33274- `"anthropic-beta": array of AnthropicBeta`
3286333275
3286433276 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3286533277
from line 33381
3296933381
3297033382 - `"webhooks-2026-10-07"`
3297133383
33384 - `"admin-user-sign-out-2026-10-08"`
33385
3297233386 - `"message-threads-2026-08-12"`
3297333387
3297433388 - `"analytics-usage-cost-2026-08-24"`
from line 33449
3303533449
3303633450 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3303733451
33038- `"anthropic-beta": optional array of AnthropicBeta`
33452- `"anthropic-beta": array of AnthropicBeta`
3303933453
3304033454 This endpoint is in beta: requests must send `webhooks-2026-10-07` in this header.
3304133455
from line 33559
3314533559
3314633560 - `"webhooks-2026-10-07"`
3314733561
33562 - `"admin-user-sign-out-2026-10-08"`
33563
3314833564 - `"message-threads-2026-08-12"`
3314933565
3315033566 - `"analytics-usage-cost-2026-08-24"`
from line 33721
3330533721
3330633722 - `"webhooks-2026-10-07"`
3330733723
33724 - `"admin-user-sign-out-2026-10-08"`
33725
3330833726 - `"message-threads-2026-08-12"`
3330933727
3331033728 - `"analytics-usage-cost-2026-08-24"`
from line 33793
3337533793
3337633794 minLength: 1, maxLength: 128
3337733795
33796 - `reply_mode: optional BetaClaudeTagReplyMode or null`
33797
33798 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
33799
33800 - `BetaClaudeTagReplyModeAutomatic object`
33801
33802 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
33803
33804 - `type: "automatic"`
33805
33806 - `BetaClaudeTagReplyModeMentionOnly object`
33807
33808 Claude replies only when it is @-mentioned.
33809
33810 - `type: "mention_only"`
33811
33812 - `BetaClaudeTagReplyModeAlwaysAwake object`
33813
33814 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
33815
33816 - `type: "always_awake"`
33817
33818 - `BetaClaudeTagReplyModeThread object`
33819
33820 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
33821
33822 - `type: "thread"`
33823
3337833824#### Returns
3337933825
3338033826- `BetaClaudeTagSlackChannel object`
from line 33881
3343533881
3343633882 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3343733883
33884 - `reply_mode: BetaClaudeTagReplyMode or null`
33885
33886 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
33887
33888 - `BetaClaudeTagReplyModeAutomatic object`
33889
33890 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
33891
33892 - `type: "automatic"`
33893
33894 - `BetaClaudeTagReplyModeMentionOnly object`
33895
33896 Claude replies only when it is @-mentioned.
33897
33898 - `type: "mention_only"`
33899
33900 - `BetaClaudeTagReplyModeAlwaysAwake object`
33901
33902 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
33903
33904 - `type: "always_awake"`
33905
33906 - `BetaClaudeTagReplyModeThread object`
33907
33908 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
33909
33910 - `type: "thread"`
33911
3343833912 - `slack: BetaClaudeTagSlackChannelIdentifiers`
3343933913
3344033914 Slack's own identifiers for the channel.
from line 34025
3355134025
3355234026 The settings level `model` comes from.
3355334027
34028 - `reply_mode: BetaClaudeTagSettingSource or null`
34029
34030 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
34031
3355434032 - `updated_at: string`
3355534033
3355634034 Time Claude Tag's record of the channel last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the channel again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 34064
3358634064 "type": "allow"
3358734065 },
3358834066 "instructions": "instructions",
33589 "model": "model"
34067 "model": "model",
34068 "reply_mode": {
34069 "type": "automatic"
34070 }
3359034071 },
3359134072 "slack": {
3359234073 "channel_id": "xx",
from line 34095
3361434095 "model": {
3361534096 "slack_channel_id": "slack_channel_id",
3361634097 "type": "slack_channel"
34098 },
34099 "reply_mode": {
34100 "slack_channel_id": "slack_channel_id",
34101 "type": "slack_channel"
3361734102 }
3361834103 },
3361934104 "type": "slack_channel",
from line 34254
3376934254
3377034255 - `"webhooks-2026-10-07"`
3377134256
34257 - `"admin-user-sign-out-2026-10-08"`
34258
3377234259 - `"message-threads-2026-08-12"`
3377334260
3377434261 - `"analytics-usage-cost-2026-08-24"`
from line 34322
3383534322
3383634323 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3383734324
34325 - `reply_mode: BetaClaudeTagReplyMode or null`
34326
34327 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
34328
34329 - `BetaClaudeTagReplyModeAutomatic object`
34330
34331 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
34332
34333 - `type: "automatic"`
34334
34335 - `BetaClaudeTagReplyModeMentionOnly object`
34336
34337 Claude replies only when it is @-mentioned.
34338
34339 - `type: "mention_only"`
34340
34341 - `BetaClaudeTagReplyModeAlwaysAwake object`
34342
34343 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
34344
34345 - `type: "always_awake"`
34346
34347 - `BetaClaudeTagReplyModeThread object`
34348
34349 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
34350
34351 - `type: "thread"`
34352
3383834353 - `slack: BetaClaudeTagSlackChannelIdentifiers`
3383934354
3384034355 Slack's own identifiers for the channel.
from line 34466
3395134466
3395234467 The settings level `model` comes from.
3395334468
34469 - `reply_mode: BetaClaudeTagSettingSource or null`
34470
34471 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
34472
3395434473 - `updated_at: string`
3395534474
3395634475 Time Claude Tag's record of the channel last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the channel again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 34504
3398534504 "type": "allow"
3398634505 },
3398734506 "instructions": "instructions",
33988 "model": "model"
34507 "model": "model",
34508 "reply_mode": {
34509 "type": "automatic"
34510 }
3398934511 },
3399034512 "slack": {
3399134513 "channel_id": "xx",
from line 34535
3401334535 "model": {
3401434536 "slack_channel_id": "slack_channel_id",
3401534537 "type": "slack_channel"
34538 },
34539 "reply_mode": {
34540 "slack_channel_id": "slack_channel_id",
34541 "type": "slack_channel"
3401634542 }
3401734543 },
3401834544 "type": "slack_channel",
from line 34685
3415934685
3416034686 - `"webhooks-2026-10-07"`
3416134687
34688 - `"admin-user-sign-out-2026-10-08"`
34689
3416234690 - `"message-threads-2026-08-12"`
3416334691
3416434692 - `"analytics-usage-cost-2026-08-24"`
from line 34753
3422534753
3422634754 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3422734755
34756 - `reply_mode: BetaClaudeTagReplyMode or null`
34757
34758 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
34759
34760 - `BetaClaudeTagReplyModeAutomatic object`
34761
34762 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
34763
34764 - `type: "automatic"`
34765
34766 - `BetaClaudeTagReplyModeMentionOnly object`
34767
34768 Claude replies only when it is @-mentioned.
34769
34770 - `type: "mention_only"`
34771
34772 - `BetaClaudeTagReplyModeAlwaysAwake object`
34773
34774 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
34775
34776 - `type: "always_awake"`
34777
34778 - `BetaClaudeTagReplyModeThread object`
34779
34780 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
34781
34782 - `type: "thread"`
34783
3422834784 - `slack: BetaClaudeTagSlackChannelIdentifiers`
3422934785
3423034786 Slack's own identifiers for the channel.
from line 34897
3434134897
3434234898 The settings level `model` comes from.
3434334899
34900 - `reply_mode: BetaClaudeTagSettingSource or null`
34901
34902 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
34903
3434434904 - `updated_at: string`
3434534905
3434634906 Time Claude Tag's record of the channel last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the channel again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 34929
3436934929 "type": "allow"
3437034930 },
3437134931 "instructions": "instructions",
34372 "model": "model"
34932 "model": "model",
34933 "reply_mode": {
34934 "type": "automatic"
34935 }
3437334936 },
3437434937 "slack": {
3437534938 "channel_id": "xx",
from line 34960
3439734960 "model": {
3439834961 "slack_channel_id": "slack_channel_id",
3439934962 "type": "slack_channel"
34963 },
34964 "reply_mode": {
34965 "slack_channel_id": "slack_channel_id",
34966 "type": "slack_channel"
3440034967 }
3440134968 },
3440234969 "type": "slack_channel",
from line 35101
3453435101
3453535102 - `"webhooks-2026-10-07"`
3453635103
35104 - `"admin-user-sign-out-2026-10-08"`
35105
3453735106 - `"message-threads-2026-08-12"`
3453835107
3453935108 - `"analytics-usage-cost-2026-08-24"`
from line 35157
3458835157
3458935158 minLength: 1, maxLength: 128
3459035159
35160 - `reply_mode: optional BetaClaudeTagReplyMode or null`
35161
35162 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
35163
35164 - `BetaClaudeTagReplyModeAutomatic object`
35165
35166 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
35167
35168 - `type: "automatic"`
35169
35170 - `BetaClaudeTagReplyModeMentionOnly object`
35171
35172 Claude replies only when it is @-mentioned.
35173
35174 - `type: "mention_only"`
35175
35176 - `BetaClaudeTagReplyModeAlwaysAwake object`
35177
35178 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
35179
35180 - `type: "always_awake"`
35181
35182 - `BetaClaudeTagReplyModeThread object`
35183
35184 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
35185
35186 - `type: "thread"`
35187
3459135188#### Returns
3459235189
3459335190- `BetaClaudeTagSlackChannel object`
from line 35245
3464835245
3464935246 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3465035247
35248 - `reply_mode: BetaClaudeTagReplyMode or null`
35249
35250 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
35251
35252 - `BetaClaudeTagReplyModeAutomatic object`
35253
35254 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
35255
35256 - `type: "automatic"`
35257
35258 - `BetaClaudeTagReplyModeMentionOnly object`
35259
35260 Claude replies only when it is @-mentioned.
35261
35262 - `type: "mention_only"`
35263
35264 - `BetaClaudeTagReplyModeAlwaysAwake object`
35265
35266 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
35267
35268 - `type: "always_awake"`
35269
35270 - `BetaClaudeTagReplyModeThread object`
35271
35272 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
35273
35274 - `type: "thread"`
35275
3465135276 - `slack: BetaClaudeTagSlackChannelIdentifiers`
3465235277
3465335278 Slack's own identifiers for the channel.
from line 35389
3476435389
3476535390 The settings level `model` comes from.
3476635391
35392 - `reply_mode: BetaClaudeTagSettingSource or null`
35393
35394 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
35395
3476735396 - `updated_at: string`
3476835397
3476935398 Time Claude Tag's record of the channel last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the channel again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 35425
3479635425 "type": "allow"
3479735426 },
3479835427 "instructions": "instructions",
34799 "model": "model"
35428 "model": "model",
35429 "reply_mode": {
35430 "type": "automatic"
35431 }
3480035432 },
3480135433 "slack": {
3480235434 "channel_id": "xx",
from line 35456
3482435456 "model": {
3482535457 "slack_channel_id": "slack_channel_id",
3482635458 "type": "slack_channel"
35459 },
35460 "reply_mode": {
35461 "slack_channel_id": "slack_channel_id",
35462 "type": "slack_channel"
3482735463 }
3482835464 },
3482935465 "type": "slack_channel",
from line 35597
3496135597
3496235598 - `"webhooks-2026-10-07"`
3496335599
35600 - `"admin-user-sign-out-2026-10-08"`
35601
3496435602 - `"message-threads-2026-08-12"`
3496535603
3496635604 - `"analytics-usage-cost-2026-08-24"`
from line 35782
3514435782
3514535783 - `"webhooks-2026-10-07"`
3514635784
35785 - `"admin-user-sign-out-2026-10-08"`
35786
3514735787 - `"message-threads-2026-08-12"`
3514835788
3514935789 - `"analytics-usage-cost-2026-08-24"`
from line 35850
3521035850
3521135851 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3521235852
35853 - `reply_mode: BetaClaudeTagReplyMode or null`
35854
35855 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
35856
35857 - `BetaClaudeTagReplyModeAutomatic object`
35858
35859 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
35860
35861 - `type: "automatic"`
35862
35863 - `BetaClaudeTagReplyModeMentionOnly object`
35864
35865 Claude replies only when it is @-mentioned.
35866
35867 - `type: "mention_only"`
35868
35869 - `BetaClaudeTagReplyModeAlwaysAwake object`
35870
35871 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
35872
35873 - `type: "always_awake"`
35874
35875 - `BetaClaudeTagReplyModeThread object`
35876
35877 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
35878
35879 - `type: "thread"`
35880
3521335881 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
3521435882
3521535883 Slack's own identifier for the workspace.
from line 35998
3533035998
3533135999 The settings level `model` comes from.
3533236000
36001 - `reply_mode: BetaClaudeTagSettingSource or null`
36002
36003 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
36004
3533336005 - `updated_at: string`
3533436006
3533536007 Time Claude Tag's record of the workspace last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the workspace again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 36036
3536436036 "type": "allow"
3536536037 },
3536636038 "instructions": "instructions",
35367 "model": "model"
36039 "model": "model",
36040 "reply_mode": {
36041 "type": "automatic"
36042 }
3536836043 },
3536936044 "slack": {
3537036045 "workspace_id": "workspace_id"
from line 36066
3539136066 "model": {
3539236067 "slack_channel_id": "slack_channel_id",
3539336068 "type": "slack_channel"
36069 },
36070 "reply_mode": {
36071 "slack_channel_id": "slack_channel_id",
36072 "type": "slack_channel"
3539436073 }
3539536074 },
3539636075 "type": "slack_workspace",
from line 36216
3553736216
3553836217 - `"webhooks-2026-10-07"`
3553936218
36219 - `"admin-user-sign-out-2026-10-08"`
36220
3554036221 - `"message-threads-2026-08-12"`
3554136222
3554236223 - `"analytics-usage-cost-2026-08-24"`
from line 36284
3560336284
3560436285 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3560536286
36287 - `reply_mode: BetaClaudeTagReplyMode or null`
36288
36289 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
36290
36291 - `BetaClaudeTagReplyModeAutomatic object`
36292
36293 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
36294
36295 - `type: "automatic"`
36296
36297 - `BetaClaudeTagReplyModeMentionOnly object`
36298
36299 Claude replies only when it is @-mentioned.
36300
36301 - `type: "mention_only"`
36302
36303 - `BetaClaudeTagReplyModeAlwaysAwake object`
36304
36305 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
36306
36307 - `type: "always_awake"`
36308
36309 - `BetaClaudeTagReplyModeThread object`
36310
36311 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
36312
36313 - `type: "thread"`
36314
3560636315 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
3560736316
3560836317 Slack's own identifier for the workspace.
from line 36432
3572336432
3572436433 The settings level `model` comes from.
3572536434
36435 - `reply_mode: BetaClaudeTagSettingSource or null`
36436
36437 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
36438
3572636439 - `updated_at: string`
3572736440
3572836441 Time Claude Tag's record of the workspace last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the workspace again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 36464
3575136464 "type": "allow"
3575236465 },
3575336466 "instructions": "instructions",
35754 "model": "model"
36467 "model": "model",
36468 "reply_mode": {
36469 "type": "automatic"
36470 }
3575536471 },
3575636472 "slack": {
3575736473 "workspace_id": "workspace_id"
from line 36494
3577836494 "model": {
3577936495 "slack_channel_id": "slack_channel_id",
3578036496 "type": "slack_channel"
36497 },
36498 "reply_mode": {
36499 "slack_channel_id": "slack_channel_id",
36500 "type": "slack_channel"
3578136501 }
3578236502 },
3578336503 "type": "slack_workspace",
from line 36635
3591536635
3591636636 - `"webhooks-2026-10-07"`
3591736637
36638 - `"admin-user-sign-out-2026-10-08"`
36639
3591836640 - `"message-threads-2026-08-12"`
3591936641
3592036642 - `"analytics-usage-cost-2026-08-24"`
from line 36691
3596936691
3597036692 minLength: 1, maxLength: 128
3597136693
36694 - `reply_mode: optional BetaClaudeTagReplyMode or null`
36695
36696 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
36697
36698 - `BetaClaudeTagReplyModeAutomatic object`
36699
36700 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
36701
36702 - `type: "automatic"`
36703
36704 - `BetaClaudeTagReplyModeMentionOnly object`
36705
36706 Claude replies only when it is @-mentioned.
36707
36708 - `type: "mention_only"`
36709
36710 - `BetaClaudeTagReplyModeAlwaysAwake object`
36711
36712 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
36713
36714 - `type: "always_awake"`
36715
36716 - `BetaClaudeTagReplyModeThread object`
36717
36718 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
36719
36720 - `type: "thread"`
36721
3597236722#### Returns
3597336723
3597436724- `BetaClaudeTagSlackWorkspace object`
from line 36779
3602936779
3603036780 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
3603136781
36782 - `reply_mode: BetaClaudeTagReplyMode or null`
36783
36784 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
36785
36786 - `BetaClaudeTagReplyModeAutomatic object`
36787
36788 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
36789
36790 - `type: "automatic"`
36791
36792 - `BetaClaudeTagReplyModeMentionOnly object`
36793
36794 Claude replies only when it is @-mentioned.
36795
36796 - `type: "mention_only"`
36797
36798 - `BetaClaudeTagReplyModeAlwaysAwake object`
36799
36800 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
36801
36802 - `type: "always_awake"`
36803
36804 - `BetaClaudeTagReplyModeThread object`
36805
36806 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
36807
36808 - `type: "thread"`
36809
3603236810 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
3603336811
3603436812 Slack's own identifier for the workspace.
from line 36927
3614936927
3615036928 The settings level `model` comes from.
3615136929
36930 - `reply_mode: BetaClaudeTagSettingSource or null`
36931
36932 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
36933
3615236934 - `updated_at: string`
3615336935
3615436936 Time Claude Tag's record of the workspace last changed. It moves on every change to a setting, and can also move when something no response holds changes, so a later value says to read the workspace again, not that a setting changed. Attaching or detaching a Bundle does not by itself move it.
from line 36963
3618136963 "type": "allow"
3618236964 },
3618336965 "instructions": "instructions",
36184 "model": "model"
36966 "model": "model",
36967 "reply_mode": {
36968 "type": "automatic"
36969 }
3618536970 },
3618636971 "slack": {
3618736972 "workspace_id": "workspace_id"
from line 36993
3620836993 "model": {
3620936994 "slack_channel_id": "slack_channel_id",
3621036995 "type": "slack_channel"
36996 },
36997 "reply_mode": {
36998 "slack_channel_id": "slack_channel_id",
36999 "type": "slack_channel"
3621137000 }
3621237001 },
3621337002 "type": "slack_workspace",
from line 37142
3635337142
3635437143 - `"webhooks-2026-10-07"`
3635537144
37145 - `"admin-user-sign-out-2026-10-08"`
37146
3635637147 - `"message-threads-2026-08-12"`
3635737148
3635837149 - `"analytics-usage-cost-2026-08-24"`
from line 37343
3655237343
3655337344 - `"webhooks-2026-10-07"`
3655437345
37346 - `"admin-user-sign-out-2026-10-08"`
37347
3655537348 - `"message-threads-2026-08-12"`
3655637349
3655737350 - `"analytics-usage-cost-2026-08-24"`
from line 37549
3675637549
3675737550 - `"webhooks-2026-10-07"`
3675837551
37552 - `"admin-user-sign-out-2026-10-08"`
37553
3675937554 - `"message-threads-2026-08-12"`
3676037555
3676137556 - `"analytics-usage-cost-2026-08-24"`
from line 37762
3696737762
3696837763 - `"webhooks-2026-10-07"`
3696937764
37765 - `"admin-user-sign-out-2026-10-08"`
37766
3697037767 - `"message-threads-2026-08-12"`
3697137768
3697237769 - `"analytics-usage-cost-2026-08-24"`
from line 38003
3720638003
3720738004 - `"webhooks-2026-10-07"`
3720838005
38006 - `"admin-user-sign-out-2026-10-08"`
38007
3720938008 - `"message-threads-2026-08-12"`
3721038009
3721138010 - `"analytics-usage-cost-2026-08-24"`
from line 38211
3741238211
3741338212 - `"webhooks-2026-10-07"`
3741438213
38214 - `"admin-user-sign-out-2026-10-08"`
38215
3741538216 - `"message-threads-2026-08-12"`
3741638217
3741738218 - `"analytics-usage-cost-2026-08-24"`
3741838219