Follow Discord
Sweep 08 Oct 2026 · 18:53Z Build v2.1.295 516 read Stable v2.1.286 Latest v2.1.295 Next v2.1.295 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · api

One read of Claude Developer Platformapi-20261008T083713Z

51 pages moved out of 760 read.

Pages moved 51 significant first
Pages read 760 in this capture
Captured 08:37 UTC
Corpus hash 53ec9a14f3da corpus-hash

What this read moved

1-25 of 51, page 1 of 3

This capture is too large to show at once. Changes 1-25 of 51 are below, significant first; the rest are on the following screens.

api/beta Changed · +370 / -19 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 455
455455 
456456 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
457457 
458- `lifecycle: optional array of "active" or "deprecated" or "retired"`
459 
460 Filter the list to models in any of the given lifecycle stages (`active`, `deprecated`, or `retired`). Up to 3 values. When omitted, the list contains the `active` and `deprecated` models; `retired` models appear only when `retired` is requested explicitly.
461 
462 maxItems: 3
463 
464 - `"active"`
465 
466 - `"deprecated"`
467 
468 - `"retired"`
469 
458470- `limit: optional number`
459471 
460472 Number of items to return per page.
from line 747
735747 
736748 format: date-time
737749 
750 - `deprecated_at: string or null`
751 
752 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
753 
754 format: date-time
755 
738756 - `display_name: string`
739757 
740758 A human-readable name for the model.
741759 
760 - `lifecycle: "active" or "deprecated" or "retired"`
761 
762 The model's current lifecycle stage.
763 
764 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
765 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
766 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
767 
768 default: active
769 
770 - `"active"`
771 
772 - `"deprecated"`
773 
774 - `"retired"`
775 
742776 - `line: BetaModelLine or null`
743777 
744778 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 795
761795 
762796 Maximum value for the `max_tokens` parameter when using this model.
763797 
798 - `retires_at: string or null`
799 
800 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
801 
802 format: date-time
803 
764804- `first_id: string or null`
765805 
766806 First ID in the `data` list. Can be used as the `before_id` for the previous page.
from line 911
871911 }
872912 },
873913 "created_at": "2026-07-24T00:00:00Z",
914 "deprecated_at": "2019-12-27T18:11:19.117Z",
874915 "display_name": "Claude Opus 5",
916 "lifecycle": "active",
875917 "line": "haiku",
876918 "max_input_tokens": 0,
877919 "max_tokens": 0,
920 "retires_at": "2019-12-27T18:11:19.117Z",
878921 "type": "model"
879922 }
880923 ],
from line 1213
11701213 
11711214 format: date-time
11721215 
1216 - `deprecated_at: string or null`
1217 
1218 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
1219 
1220 format: date-time
1221 
11731222 - `display_name: string`
11741223 
11751224 A human-readable name for the model.
11761225 
1226 - `lifecycle: "active" or "deprecated" or "retired"`
1227 
1228 The model's current lifecycle stage.
1229 
1230 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
1231 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
1232 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
1233 
1234 default: active
1235 
1236 - `"active"`
1237 
1238 - `"deprecated"`
1239 
1240 - `"retired"`
1241 
11771242 - `line: BetaModelLine or null`
11781243 
11791244 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 1261
11961261 
11971262 Maximum value for the `max_tokens` parameter when using this model.
11981263 
1264 - `retires_at: string or null`
1265 
1266 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
1267 
1268 format: date-time
1269 
11991270#### Example
12001271 
12011272```bash
from line 1363
12921363 }
12931364 },
12941365 "created_at": "2026-07-24T00:00:00Z",
1366 "deprecated_at": "2019-12-27T18:11:19.117Z",
12951367 "display_name": "Claude Opus 5",
1368 "lifecycle": "active",
12961369 "line": "haiku",
12971370 "max_input_tokens": 0,
12981371 "max_tokens": 0,
1372 "retires_at": "2019-12-27T18:11:19.117Z",
12991373 "type": "model"
13001374}
13011375```
from line 7753
76797753 
76807754 - `"code_execution_20250825"`
76817755 
7682 - `"code_execution_20260120"`
7683 
7684 - `"code_execution_20260521"`
7685 
7686 - `cache_control: optional BetaCacheControlEphemeral or null`
7687 
7688 Create a cache control breakpoint at this content block.
7689 
7690 - `defer_loading: optional boolean`
7691 
7692 If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
7693 
7694 - `input_examples: optional array of map[unknown]`
7695 
7696 - `strict: optional boolean`
7697 
7698 When true, guarantees schema validation on tool names and inputs
7699 
7700 - `BetaToolTextEditor20250728 object`
7701 
7702 - `type: "text_editor_20250728"`
7703 
7704 - `name: "str_replace_based_edit_tool"`
7705 
7706 Name of the tool.
7707 
7708 This is how the tool will be called by the model and in `tool_use` blocks.
7709 
7710 - `allowed_callers: optional array of "direct" or "code_execution_20250825" or "code_execution_20260120" or "code_execution_20260521"`
7711 
7712 - `"direct"`
7713 
7714 - `"code_execution_20250825"`
7715 
7716 - `"code_execution_20260120"`
7717 
7718 - `"code_execution_20260521"`
7719 
7720 - `cache_control: optional BetaCacheControlEphemeral or null`
7721 
7722 Create a cache control breakpoint at this content block.
7723 
7724 - `defer_loading: optional boolean`
7725 
7726 If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
7727 
7728 - `input_examples: optional array of map[unknown]`
7729 
7730 - `max_characters: optional number or null`
7731 
7732 Maximum number of characters to display when viewing a file. If not specified, defaults to displaying the full file.
7733 
7734 minimum: 1
7735 
7736 - `strict: optional boolean`
7737 
7738 When true, guarantees schema validation on tool names and inputs
7739 
7740 - `BetaWebSearchTool20250305 object`
7741 
7742 - `type: "web_search_20250305"`
7743 
7744 - `name: "web_search"`
7745 
7746 Name of the tool.
7747 
7748 This is how the tool will be called by the model and in `tool_use` blocks.
7749 
7750 - `allowed_callers: optional array of "direct" or "code_execution_20250825" or "code_execution_20260120" or "code_execution_20260521"`
7751 
7752 - `"direct"`
7753 
7754 - `"code_execution_20250825"`
7755 
7756 - `"code_execution_20260120"`
7757 
7758 - `"code_execution_20260521"`
7759 
7760 - `allowed_domains: optional array of string or null`
7761 
7762 If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.
7763 
7764 - `blocked_domains: optional array of string or null`
7765 
7766 If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.
7767 
7768
7756 - `

api/beta/models Changed · +102 / -0 lines

from line 23
2323 
2424 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
2525 
26- `lifecycle: optional array of "active" or "deprecated" or "retired"`
27 
28 Filter the list to models in any of the given lifecycle stages (`active`, `deprecated`, or `retired`). Up to 3 values. When omitted, the list contains the `active` and `deprecated` models; `retired` models appear only when `retired` is requested explicitly.
29 
30 maxItems: 3
31 
32 - `"active"`
33 
34 - `"deprecated"`
35 
36 - `"retired"`
37 
2638- `limit: optional number`
2739 
2840 Number of items to return per page.
from line 315
303315 
304316 format: date-time
305317 
318 - `deprecated_at: string or null`
319 
320 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
321 
322 format: date-time
323 
306324 - `display_name: string`
307325 
308326 A human-readable name for the model.
309327 
328 - `lifecycle: "active" or "deprecated" or "retired"`
329 
330 The model's current lifecycle stage.
331 
332 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
333 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
334 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
335 
336 default: active
337 
338 - `"active"`
339 
340 - `"deprecated"`
341 
342 - `"retired"`
343 
310344 - `line: BetaModelLine or null`
311345 
312346 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 363
329363 
330364 Maximum value for the `max_tokens` parameter when using this model.
331365 
366 - `retires_at: string or null`
367 
368 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
369 
370 format: date-time
371 
332372- `first_id: string or null`
333373 
334374 First ID in the `data` list. Can be used as the `before_id` for the previous page.
from line 479
439479 }
440480 },
441481 "created_at": "2026-07-24T00:00:00Z",
482 "deprecated_at": "2019-12-27T18:11:19.117Z",
442483 "display_name": "Claude Opus 5",
484 "lifecycle": "active",
443485 "line": "haiku",
444486 "max_input_tokens": 0,
445487 "max_tokens": 0,
488 "retires_at": "2019-12-27T18:11:19.117Z",
446489 "type": "model"
447490 }
448491 ],
from line 781
738781 
739782 format: date-time
740783 
784 - `deprecated_at: string or null`
785 
786 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
787 
788 format: date-time
789 
741790 - `display_name: string`
742791 
743792 A human-readable name for the model.
744793 
794 - `lifecycle: "active" or "deprecated" or "retired"`
795 
796 The model's current lifecycle stage.
797 
798 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
799 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
800 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
801 
802 default: active
803 
804 - `"active"`
805 
806 - `"deprecated"`
807 
808 - `"retired"`
809 
745810 - `line: BetaModelLine or null`
746811 
747812 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 829
764829 
765830 Maximum value for the `max_tokens` parameter when using this model.
766831 
832 - `retires_at: string or null`
833 
834 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
835 
836 format: date-time
837 
767838### Example
768839 
769840```bash
from line 931
860931 }
861932 },
862933 "created_at": "2026-07-24T00:00:00Z",
934 "deprecated_at": "2019-12-27T18:11:19.117Z",
863935 "display_name": "Claude Opus 5",
936 "lifecycle": "active",
864937 "line": "haiku",
865938 "max_input_tokens": 0,
866939 "max_tokens": 0,
940 "retires_at": "2019-12-27T18:11:19.117Z",
867941 "type": "model"
868942}
869943```
from line 1326
12521326 
12531327 format: date-time
12541328 
1329 - `deprecated_at: string or null`
1330 
1331 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
1332 
1333 format: date-time
1334 
12551335 - `display_name: string`
12561336 
12571337 A human-readable name for the model.
12581338 
1339 - `lifecycle: "active" or "deprecated" or "retired"`
1340 
1341 The model's current lifecycle stage.
1342 
1343 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
1344 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
1345 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
1346 
1347 default: active
1348 
1349 - `"active"`
1350 
1351 - `"deprecated"`
1352 
1353 - `"retired"`
1354 
12591355 - `line: BetaModelLine or null`
12601356 
12611357 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 1373
12771373 - `max_tokens: number or null`
12781374 
12791375 Maximum value for the `max_tokens` parameter when using this model.
1376 
1377 - `retires_at: string or null`
1378 
1379 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
1380 
1381 format: date-time
12801382 
12811383### Beta Model Line
12821384 

api/beta/models/list Changed · +43 / -0 lines

from line 21
2121 
2222 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
2323 
24- `lifecycle: optional array of "active" or "deprecated" or "retired"`
25 
26 Filter the list to models in any of the given lifecycle stages (`active`, `deprecated`, or `retired`). Up to 3 values. When omitted, the list contains the `active` and `deprecated` models; `retired` models appear only when `retired` is requested explicitly.
27 
28 maxItems: 3
29 
30 - `"active"`
31 
32 - `"deprecated"`
33 
34 - `"retired"`
35 
2436- `limit: optional number`
2537 
2638 Number of items to return per page.
from line 313
301313 
302314 format: date-time
303315 
316 - `deprecated_at: string or null`
317 
318 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
319 
320 format: date-time
321 
304322 - `display_name: string`
305323 
306324 A human-readable name for the model.
307325 
326 - `lifecycle: "active" or "deprecated" or "retired"`
327 
328 The model's current lifecycle stage.
329 
330 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
331 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
332 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
333 
334 default: active
335 
336 - `"active"`
337 
338 - `"deprecated"`
339 
340 - `"retired"`
341 
308342 - `line: BetaModelLine or null`
309343 
310344 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 361
327361 
328362 Maximum value for the `max_tokens` parameter when using this model.
329363 
364 - `retires_at: string or null`
365 
366 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
367 
368 format: date-time
369 
330370- `first_id: string or null`
331371 
332372 First ID in the `data` list. Can be used as the `before_id` for the previous page.
from line 477
437477 }
438478 },
439479 "created_at": "2026-07-24T00:00:00Z",
480 "deprecated_at": "2019-12-27T18:11:19.117Z",
440481 "display_name": "Claude Opus 5",
482 "lifecycle": "active",
441483 "line": "haiku",
442484 "max_input_tokens": 0,
443485 "max_tokens": 0,
486 "retires_at": "2019-12-27T18:11:19.117Z",
444487 "type": "model"
445488 }
446489 ],

api/beta/models/retrieve Changed · +31 / -0 lines

from line 289
289289 
290290 format: date-time
291291 
292 - `deprecated_at: string or null`
293 
294 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
295 
296 format: date-time
297 
292298 - `display_name: string`
293299 
294300 A human-readable name for the model.
295301 
302 - `lifecycle: "active" or "deprecated" or "retired"`
303 
304 The model's current lifecycle stage.
305 
306 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
307 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
308 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
309 
310 default: active
311 
312 - `"active"`
313 
314 - `"deprecated"`
315 
316 - `"retired"`
317 
296318 - `line: BetaModelLine or null`
297319 
298320 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 337
315337 
316338 Maximum value for the `max_tokens` parameter when using this model.
317339 
340 - `retires_at: string or null`
341 
342 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
343 
344 format: date-time
345 
318346## Example
319347 
320348```bash
from line 439
411439 }
412440 },
413441 "created_at": "2026-07-24T00:00:00Z",
442 "deprecated_at": "2019-12-27T18:11:19.117Z",
414443 "display_name": "Claude Opus 5",
444 "lifecycle": "active",
415445 "line": "haiku",
416446 "max_input_tokens": 0,
417447 "max_tokens": 0,
448 "retires_at": "2019-12-27T18:11:19.117Z",
418449 "type": "model"
419450}
420451```

api/beta/organization Changed · +296 / -19 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

Nothing in the body moved in this read. What changed is above.

api/beta/organization/analytics Changed · +680 / -36 lines

### Beta Analytics Chat Cowork Unified Chat Metrics ### Beta Analytics Chat Cowork Unified Sessions Metrics ### Beta Analytics Connector Chat Cowork Unified Chat Metrics ### Beta Analytics Connector Chat Cowork Unified Sessions Metrics ### Beta Analytics Skill Chat Cowork Unified Chat Metrics ### Beta Analytics Skill Chat Cowork Unified Sessions Metrics

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 44
4444 
4545 - `product: optional string or null`
4646 
47 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
47 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
4848 
4949 - `rbac_group_id: optional string or null`
5050 
from line 58
5858 
5959 Tagged user identifier (e.g. `user_...`). Present only when the request grouped by `user_id`.
6060 
61### Beta Analytics Chat Cowork Unified Chat Metrics
62 
63- `BetaAnalyticsChatCoworkUnifiedChatMetrics object`
64 
65 Chat activity recorded while members had Chat and Cowork unified turned
66 on.
67 
68 - `connectors_used_count: number`
69 
70 Same measure as `chat_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
71 
72 - `distinct_artifacts_created_count: number`
73 
74 Same measure as `chat_metrics.distinct_artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
75 
76 - `distinct_connectors_used_count: number or null`
77 
78 Same measure as `chat_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
79 
80 - `distinct_conversation_count: number or null`
81 
82 Same measure as `chat_metrics.distinct_conversation_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
83 
84 - `distinct_files_uploaded_count: number or null`
85 
86 Same measure as `chat_metrics.distinct_files_uploaded_count`, for activity recorded while members had Chat and Cowork unified turned on. It counts uploaded files as well as files Claude created and images returned by Claude's tools, such as screenshots. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
87 
88 - `distinct_projects_created_count: number`
89 
90 Same measure as `chat_metrics.distinct_projects_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
91 
92 - `distinct_projects_used_count: number or null`
93 
94 Same measure as `chat_metrics.distinct_projects_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
95 
96 - `distinct_shared_artifacts_viewed_count: number or null`
97 
98 Always null: shared-artifact views are not currently measured.
99 
100 - `distinct_skills_used_count: number or null`
101 
102 Same measure as `chat_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
103 
104 - `message_count: number`
105 
106 Same measure as `chat_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
107 
108 - `shared_conversations_viewed_count: number`
109 
110 Same measure as `chat_metrics.shared_conversations_viewed_count`, for activity recorded while members had Chat and Cowork unified turned on.
111 
112 - `thinking_message_count: number`
113 
114 Same measure as `chat_metrics.thinking_message_count`, for activity recorded while members had Chat and Cowork unified turned on.
115 
116### Beta Analytics Chat Cowork Unified Sessions Metrics
117 
118- `BetaAnalyticsChatCoworkUnifiedSessionsMetrics object`
119 
120 Cowork session activity recorded while members had Chat and Cowork
121 unified turned on.
122 
123 - `action_count: number`
124 
125 Same measure as `cowork_metrics.action_count`, for activity recorded while members had Chat and Cowork unified turned on.
126 
127 - `artifacts_created_count: number`
128 
129 Same measure as `cowork_metrics.artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
130 
131 - `connectors_used_count: number`
132 
133 Same measure as `cowork_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
134 
135 - `dispatch_turn_count: number`
136 
137 Same measure as `cowork_metrics.dispatch_turn_count`, for activity recorded while members had Chat and Cowork unified turned on.
138 
139 - `distinct_connectors_used_count: number or null`
140 
141 Same measure as `cowork_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
142 
143 - `distinct_plugins_used_count: number or null`
144 
145 Same measure as `cowork_metrics.distinct_plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
146 
147 - `distinct_session_count: number or null`
148 
149 Same measure as `cowork_metrics.distinct_session_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
150 
151 - `distinct_skills_used_count: number or null`
152 
153 Same measure as `cowork_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
154 
155 - `edit_tool_count: number or null`
156 
157 Same measure as `cowork_metrics.edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
158 
159 - `file_edit_count: number or null`
160 
161 Same measure as `cowork_metrics.file_edit_count`, for activity recorded while members had Chat and Cowork unified turned on.
162 
163 - `message_count: number`
164 
165 Same measure as `cowork_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
166 
167 - `multi_edit_tool_count: number or null`
168 
169 Same measure as `cowork_metrics.multi_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on. Claude no longer has a multi-edit tool, so expect 0 when not null; each edit is now a separate Edit tool call, counted in `edit_tool_count` and `file_edit_count`.
170 
171 - `notebook_edit_tool_count: number or null`
172 
173 Same measure as `cowork_metrics.notebook_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
174 
175 - `plugins_used_count: number or null`
176 
177 Same measure as `cowork_metrics.plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
178 
179 - `sessions_with_file_edits_count: number or null`
180 
181 Same measure as `cowork_metrics.sessions_with_file_edits_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
182 
183 - `skills_used_count: number`
184 
185 Same measure as `cowork_metrics.skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
186 
187 - `write_tool_count: number or null`
188 
189 Same measure as `cowork_metrics.write_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
190 
61191### Beta Analytics Chat Metrics
62192 
63193- `BetaAnalyticsChatMetrics object`
from line 384
254384 
255385 Office Agent activity metrics for a single connector on a given day within one Office product.
256386 
387 - `chat_cowork_unified_metrics: optional object or null`
388 
389 Connector use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
390 
391 - `chat: BetaAnalyticsConnectorChatCoworkUnifiedChatMetrics`
392 
393 A connector's use in chat conversations recorded while members had
394 Chat and Cowork unified turned on.
395 
396 - `distinct_conversation_connector_used_count: number or null`
397 
398 Same measure as `chat_metrics.distinct_conversation_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
399 
400 - `sessions: BetaAnalyticsConnectorChatCoworkUnifiedSessionsMetrics`
401 
402 A connector's use in Cowork sessions recorded while members had
403 Chat and Cowork unified turned on.
404 
405 - `distinct_session_connector_used_count: number or null`
406 
407 Same measure as `cowork_metrics.distinct_session_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
408 
257409 - `connector_display_name: optional string or null`
258410 
259411 Human-readable display name for rows whose `connector_name` is an opaque connector id rather than a readable name, resolved at request time from the organization's connectors (including connectors that have since been removed). `connector_name` remains the row's stable key for sorting and pagination, and `filter[]=connector_name:{value}` also matches these rows by display name. Display names are not unique, and the same connector's claude.ai usage can appear under a separate row with a readable `connector_name`. Null when `connector_name` is already a readable name, when the id cannot be resolved to one of the organization's connectors, or when display-name resolution is not enabled for this organization.
from line 420
268420 
269421 - `product: optional string or null`
270422 
271 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
423 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
272424 
273425 - `rbac_group_id: optional string or null`
274426 
from line 446
294446 
295447 Number of connector tool calls on the requested day whose trusted read-only annotation marked them not read-only. Call count, not distinct users. One of the three call-classification buckets; see `read_call_count` for the per-surface data-start dates, null conditions, and date-range guidance.
296448 
449### Beta Analytics Connector Chat Cowork Unified Chat Metrics
450 
451- `BetaAnalyticsConnectorChatCoworkUnifiedChatMetrics object`
452 
453 A connector's use in chat conversations recorded while members had
454 Chat and Cowork unified turned on.
455 
456 - `distinct_conversation_connector_used_count: number or null`
457 
458 Same measure as `chat_metrics.distinct_conversation_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
459 
460### Beta Analytics Connector Chat Cowork Unified Sessions Metrics
461 
462- `BetaAnalyticsConnectorChatCoworkUnifiedSessionsMetrics object`
463 
464 A connector's use in Cowork sessions recorded while members had
465 Chat and Cowork unified turned on.
466 
467 - `distinct_session_connector_used_count: number or null`
468 
469 Same measure as `cowork_metrics.distinct_session_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
470 
297471### Beta Analytics Connector Chat Metrics
298472 
299473- `BetaAnalyticsConnectorChatMetrics object`
from line 644
470644 
471645 - `product: string or null`
472646 
473 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
647 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
474648 
475649 - `rbac_group_id: string or null`
476650 
from line 758
584758 
585759 - `product: string or null`
586760 
587 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
761 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
588762 
589763 - `rbac_group_id: string or null`
590764 
from line 914
740914 
741915 - `product: string or null`
742916 
743 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
917 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
744918 
745919 - `rbac_group_id: string or null`
746920 
from line 1158
9841158 
9851159 Per-plugin install + invocation activity for a given day.
9861160 
987 With `group_by[]=user_id` / `rbac_group_id` / `product` (`cowork` /
988 `claude_code` only on this endpoint) each row is one (plugin, user),
989 (plugin, group), or (plugin, product) cut: the flat `user_id` /
990 `rbac_group_id` / `product` keys carry the cut and the counts are
991 scoped to it.
1161 With `group_by[]=user_id` / `rbac_group_id` / `product` (`cowork`,
1162 `claude_code` and `chat_cowork_unified` only on this endpoint) each row is
1163 one (plugin, user), (plugin, group), or (plugin, product) cut: the flat
1164 `user_id` / `rbac_group_id` / `product` keys carry the cut and the counts
1165 are scoped to it.
9921166 
9931167 - `claude_code_metrics: BetaAnalyticsPluginClaudeCodeMetrics`
9941168 
from line 1196
10221196 
10231197 Name of the plugin
10241198 
1199 - `chat_cowork_unified_metrics: optional object or null`
1200 
1201 Plugin use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
1202 
1203 - `distinct_session_plugin_used_count: number or null`
1204 
1205 Same measure as `cowork_metrics.distinct_session_plugin_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Null on aggregated rows where a distinct count cannot be computed.
1206 
10251207 - `plugin_id: optional string or null`
10261208 
10271209 Stable plugin identifier when available (e.g. `serena@claude-plugins-official`). Null for third-party Claude Code plugins (redacted at the source) and Cowork slash commands that carry only a hashed id.
10281210 
10291211 - `product: optional string or null`
10301212 
1031 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
1213 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
10321214 
10331215 - `rbac_group_id: optional string or null`
10341216 
from line 1246
10641246 
10651247### Beta Analytics Product Filter
10661248 
1067- `BetaAnalyticsProductFilter = "chat" or "claude-tag" or "claude_code" or 4 more`
1068 
1069 Publicly documented product surfaces. `claude-tag` is Claude Tag, the Claude product in Slack.
1249- `BetaAnalyticsProductFilter = "chat" or "chat_cowork_unified" or "claude-tag" or 5 more`
1250 
1251 Publicly documented product surfaces. `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 on deployments that offer Chat and Cowork unified.
10701252 
10711253 - `"chat"`
10721254 
1255 - `"chat_cowork_unified"`
1256 
10731257 - `"claude-tag"`
10741258 
10751259 - `"claude_code"`
from line 1318
11341318 
11351319 - `product: optional string or null`
11361320 
1137 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
1321 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
11381322 
11391323 - `rbac_group_id: optional string or null`
11401324 
from line 1428
12441428 
12451429 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
12461430 
1431 - `chat_cowork_unified_daily_active_user_count: optional number or null`
1432 
1433 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
1434 
1435 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
1436 
1437 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
1438 
1439 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
1440 
1441 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
1442 
12471443 - `chat_daily_active_user_count: optional number or null`
12481444 
12491445 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 1570
13741570 
13751571 List-price (rate-card) value of the member requests attributed to this skill, as a decimal string in the minor unit of `currency` (cents for USD), from Claude Code, Cowork, and Office Agent request-level attribution — the value of requests that involved the skill, not the skill's incremental cost. Unlike `estimated_overage_spend` this reflects usage value regardless of how it was funded — seat-covered usage counts — but it is undiscounted and does not tie to billed spend or the organization's spend reporting. claude.ai chat usage carries no request-level attribution and contributes nothing: the field is null on `chat` product rows and on `office_agent` product cuts dated before 2026-06-18 (the Office Agent attribution data-start), and on ungrouped rows it covers the Claude Code + Cowork + Office Agent share only (null when no attributable usage exists). Also null under the same conditions as `estimated_overage_spend` (spend reporting not enabled for this organization, `office_agent` product cuts before the 2026-06-18 data-start). "0" means attributable usage existed but none was attributed to this skill. Addable across days: date-range rollup mode returns the window's sum. On `group_by[]` and `filter[]` shapes both amounts can total below the ungrouped value for the same skill over the same date or range: spend attributed to a member–skill pair with no counted usage on that day is excluded from those cuts.
13761572 
1573 - `chat_cowork_unified_metrics: optional object or null`
1574 
1575 Skill use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
1576 
1577 - `chat: BetaAnalyticsSkillChatCoworkUnifiedChatMetrics`
1578 
1579 A skill's use in chat conversations recorded while members had
1580 Chat and Cowork unified turned on.
1581 
1582 - `distinct_conversation_skill_used_count: number or null`
1583 
1584 Same measure as `chat_metrics.distinct_conversation_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
1585 
1586 - `sessions: BetaAnalyticsSkillChatCoworkUnifiedSessionsMetrics`
1587 
1588 A skill's use in Cowork sessions recorded while members had Chat
1589 and Cowork unified turned on.
1590 
1591 - `distinct_session_skill_used_count: number or null`
1592 
1593 Same measure as `cowork_metrics.distinct_session_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
1594 
13771595 - `currency: optional string or null`
13781596 
13791597 Currency for this row's monetary fields (`estimated_overage_spend` and `attributed_list_price`), as an uppercase ISO-4217 code. Always "USD" when either amount is populated; null whenever both amounts are null.
from line 1610
13921610 
13931611 - `product: optional string or null`
13941612 
1395 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
1613 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
13961614 
13971615 - `rbac_group_id: optional string or null`
13981616 
from line 1638
14201638 
14211639 Tagged user identifier (e.g. `user_...`). Present only when the request grouped by `user_id`.
14221640 
1641### Beta Analytics Skill Chat Cowork Unified Chat Metrics
1642 
1643- `BetaAnalyticsSkillChatCoworkUnifiedChatMetrics object`
1644 
1645 A skill's use in chat conversations recorded while members had
1646 Chat and Cowork unified turned on.
1647 
1648 - `distinct_conversation_skill_used_count: number or null`
1649 
1650 Same measure as `chat_metrics.distinct_conversation_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
1651 
1652### Beta Analytics Skill Chat Cowork Unified Sessions Metrics
1653 
1654- `BetaAnalyticsSkillChatCoworkUnifiedSessionsMetrics object`
1655 
1656 A skill's use in Cowork sessions recorded while members had Chat
1657 and Cowork unified turned on.
1658 
1659 - `distinct_session_skill_used_count: number or null`
1660 
1661 Same measure as `cowork_metrics.distinct_session_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
1662 
14231663### Beta Analytics Skill Chat Metrics
14241664 
14251665- `BetaAnalyticsSkillChatMetrics object`
from line 1852
16121852 
16131853 - `product: string or null`
16141854 
1615 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
1855 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
16161856 
16171857 - `rbac_group_id: string or null`
16181858 
from line 1964
17241964 
17251965 - `product: string or null`
17261966 
1727 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
1967 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
17281968 
17291969 - `rbac_group_id: string or null`
17301970 
from line 2108
18682108 
18692109 - `product: string or null`
18702110 
1871 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
2111 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
18722112 
18732113 - `rbac_group_id: string or null`
18742114 
from line 2457
22172457 - `web_search_count: number`
22182458 
22192459 Number of web searches performed
2460 
2461 - `chat_cowork_unified_metrics: optional object or null`
2462 
2463 Activity recorded while the member had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into `chat` (chat activity) and `sessions` (Cowork activity). Omitted from the response on deployments that do not offer Chat and Cowork unified.
2464 
2465 - `chat: BetaAnalyticsChatCoworkUnifiedChatMetrics`
2466 
2467 Chat activity recorded while members had Chat and Cowork unified turned
2468 on.
2469 
2470 - `connectors_used_count: number`
2471 
2472 Same measure as `chat_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
2473 
2474 - `distinct_artifacts_created_count: number`
2475 
2476 Same measure as `chat_metrics.distinct_artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
2477 
2478 - `distinct_connectors_used_count: number or null`
2479 
2480 Same measure as `chat_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2481 
2482 - `distinct_conversation_count: number or null`
2483 
2484 Same measure as `chat_metrics.distinct_conversation_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2485 
2486 - `distinct_files_uploaded_count: number or null`
2487 
2488 Same measure as `chat_metrics.distinct_files_uploaded_count`, for activity recorded while members had Chat and Cowork unified turned on. It counts uploaded files as well as files Claude created and images returned by Claude's tools, such as screenshots. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2489 
2490 - `distinct_projects_created_count: number`
2491 
2492 Same measure as `chat_metrics.distinct_projects_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
2493 
2494 - `distinct_projects_used_count: number or null`
2495 
2496 Same measure as `chat_metrics.distinct_projects_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2497 
2498 - `distinct_shared_artifacts_viewed_count: number or null`
2499 
2500 Always null: shared-artifact views are not currently measured.
2501 
2502 - `distinct_skills_used_count: number or null`
2503 
2504 Same measure as `chat_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2505 
2506 - `message_count: number`
2507 
2508 Same measure as `chat_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
2509 
2510 - `shared_conversations_viewed_count: number`
2511 
2512 Same measure as `chat_metrics.shared_conversations_viewed_count`, for activity recorded while members had Chat and Cowork unified turned on.
2513 
2514 - `thinking_message_count: number`
2515 
2516 Same measure as `chat_metrics.thinking_message_count`, for activity recorded while members had Chat and Cowork unified turned on.
2517 
2518 - `sessions: BetaAnalyticsChatCoworkUnifiedSessionsMetrics`
2519 
2520 Cowork session activity recorded while members had Chat and Cowork
2521 unified turned on.
2522 
2523 - `action_count: number`
2524 
2525 Same measure as `cowork_metrics.action_count`, for activity recorded while members had Chat and Cowork unified turned on.
2526 
2527 - `artifacts_created_count: number`
2528 
2529 Same measure as `cowork_metrics.artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
2530 
2531 - `connectors_used_count: number`
2532 
2533 Same measure as `cowork_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
2534 
2535 - `dispatch_turn_count: number`
2536 
2537 Same measure as `cowork_metrics.dispatch_turn_count`, for activity recorded while members had Chat and Cowork unified turned on.
2538 
2539 - `distinct_connectors_used_count: number or null`
2540 
2541 Same measure as `cowork_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2542 
2543 - `distinct_plugins_used_count: number or null`
2544 
2545 Same measure as `cowork_metrics.distinct_plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2546 
2547 - `distinct_session_count: number or null`
2548 
2549 Same measure as `cowork_metrics.distinct_session_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2550 
2551 - `distinct_skills_used_count: number or null`
2552 
2553 Same measure as `cowork_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2554 
2555 - `edit_tool_count: number or null`
2556 
2557 Same measure as `cowork_metrics.edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
2558 
2559 - `file_edit_count: number or null`
2560 
2561 Same measure as `cowork_metrics.file_edit_count`, for activity recorded while members had Chat and Cowork unified turned on.
2562 
2563 - `message_count: number`
2564 
2565 Same measure as `cowork_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
2566 
2567 - `multi_edit_tool_count: number or null`
2568 
2569 Same measure as `cowork_metrics.multi_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on. Claude no longer has a multi-edit tool, so expect 0 when not null; each edit is now a separate Edit tool call, counted in `edit_tool_count` and `file_edit_count`.
2570 
2571 - `notebook_edit_tool_count: number or null`
2572 
2573 Same measure as `cowork_metrics.notebook_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
2574 
2575 - `plugins_used_count: number or null`
2576 
2577 Same measure as `cowork_metrics.plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
2578 
2579 - `sessions_with_file_edits_count: number or null`
2580 
2581 Same measure as `cowork_metrics.sessions_with_file_edits_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
2582 
2583 - `skills_used_count: number`
2584 
2585 Same measure as `cowork_metrics.skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
2586 
2587 - `write_tool_count: number or null`
2588 
2589 Same measure as `cowork_metrics.write_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
22202590 
22212591 - `distinct_user_count: optional number or null`
22222592 
from line 2665
22952665Returns one entry per day from `starting_date` (inclusive) to `ending_date`
22962666(exclusive) in `data`, the same `data` / `next_page` envelope as the other
22972667analytics list endpoints; the series is currently returned in full, so
2298`next_page` is always null (`summaries` is a deprecated alias of `data`).
2668`next_page` is always null.
22992669Data is typically available with a 1-day lag and may be revised by a few
23002670percent over the following days: when `ending_date` is omitted it
23012671defaults to the most recent available day + 1, so the last entry covers
from line 2765
23952765 
23962766 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
23972767 
2768 - `chat_cowork_unified_daily_active_user_count: optional number or null`
2769 
2770 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
2771 
2772 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
2773 
2774 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
2775 
2776 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
2777 
2778 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
2779 
23982780 - `chat_daily_active_user_count: optional number or null`
23992781 
24002782 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 2906
25242906 - `weekly_adoption_rate: number or null`
25252907 
25262908 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
2909 
2910 - `chat_cowork_unified_daily_active_user_count: optional number or null`
2911 
2912 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
2913 
2914 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
2915 
2916 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
2917 
2918 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
2919 
2920 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
25272921 
25282922 - `chat_daily_active_user_count: optional number or null`
25292923 
from line 3010
26163010 "starting_at": "2019-12-27T18:11:19.117Z",
26173011 "weekly_active_user_count": 0,
26183012 "weekly_adoption_rate": 0,
3013 "chat_cowork_unified_daily_active_user_count": 0,
3014 "chat_cowork_unified_monthly_active_user_count": 0,
3015 "chat_cowork_unified_weekly_active_user_count": 0,
26193016 "chat_daily_active_user_count": 0,
26203017 "chat_monthly_active_user_count": 0,
26213018 "chat_weekly_active_user_count": 0,
from line 3047
26503047 "starting_at": "2019-12-27T18:11:19.117Z",
26513048 "weekly_active_user_count": 0,
26523049 "weekly_adoption_rate": 0,
3050 "chat_cowork_unified_daily_active_user_count": 0,
3051 "chat_cowork_unified_monthly_active_user_count": 0,
3052 "chat_cowork_unified_weekly_active_user_count": 0,
26533053 "chat_daily_active_user_count": 0,
26543054 "chat_monthly_active_user_count": 0,
26553055 "chat_weekly_active_user_count": 0,
from line 3101
27013101 
27023102- `filter: optional array of string`
27033103 
2704 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`) and scopes each member's row to their claude.ai chat activity within that project (it cannot be combined with `group_by[]` or an `rbac_group_id` filter); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
3104 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. A `project_id` filter limits each member's row to their claude.ai chat activity in that project and cannot be combined with `group_by[]` or an `rbac_group_id` filter. On these rows, every count in `chat_cowork_unified_metrics.sessions` is 0, because sessions are not measured per project. On any day a member sent a chat message in Chat and Cowork unified, all of that member's project activity for the day is counted in `chat_cowork_unified_metrics.chat` instead of `chat_metrics`.
27053105 
27063106 maxItems: 100
27073107 
from line 3422
30223422 - `web_search_count: number`
30233423 
30243424 Number of web searches performed
3425 
3426 - `chat_cowork_unified_metrics: optional object or null`
3427 
3428 Activity recorded while the member had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into `chat` (chat activity) and `sessions` (Cowork activity). Omitted from the response on deployments that do not offer Chat and Cowork unified.
3429 
3430 - `chat: BetaAnalyticsChatCoworkUnifiedChatMetrics`
3431 
3432 Chat activity recorded while members had Chat and Cowork unified turned
3433 on.
3434 
3435 - `connectors_used_count: number`
3436 
3437 Same measure as `chat_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
3438 
3439 - `distinct_artifacts_created_count: number`
3440 
3441 Same measure as `chat_metrics.distinct_artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
3442 
3443 - `distinct_connectors_used_count: number or null`
3444 
3445 Same measure as `chat_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3446 
3447 - `distinct_conversation_count: number or null`
3448 
3449 Same measure as `chat_metrics.distinct_conversation_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3450 
3451 - `distinct_files_uploaded_count: number or null`
3452 
3453 Same measure as `chat_metrics.distinct_files_uploaded_count`, for activity recorded while members had Chat and Cowork unified turned on. It counts uploaded files as well as files Claude created and images returned by Claude's tools, such as screenshots. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3454 
3455 - `distinct_projects_created_count: number`
3456 
3457 Same measure as `chat_metrics.distinct_projects_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
3458 
3459 - `distinct_projects_used_count: number or null`
3460 
3461 Same measure as `chat_metrics.distinct_projects_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3462 
3463 - `distinct_shared_artifacts_viewed_count: number or null`
3464 
3465 Always null: shared-artifact views are not currently measured.
3466 
3467 - `distinct_skills_used_count: number or null`
3468 
3469 Same measure as `chat_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3470 
3471 - `message_count: number`
3472 
3473 Same measure as `chat_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
3474 
3475 - `shared_conversations_viewed_count: number`
3476 
3477 Same measure as `chat_metrics.shared_conversations_viewed_count`, for activity recorded while members had Chat and Cowork unified turned on.
3478 
3479 - `thinking_message_count: number`
3480 
3481 Same measure as `chat_metrics.thinking_message_count`, for activity recorded while members had Chat and Cowork unified turned on.
3482 
3483 - `sessions: BetaAnalyticsChatCoworkUnifiedSessionsMetrics`
3484 
3485 Cowork session activity recorded while members had Chat and Cowork
3486 unified turned on.
3487 
3488 - `action_count: number`
3489 
3490 Same measure as `cowork_metrics.action_count`, for activity recorded while members had Chat and Cowork unified turned on.
3491 
3492 - `artifacts_created_count: number`
3493 
3494 Same measure as `cowork_metrics.artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
3495 
3496 - `connectors_used_count: number`
3497 
3498 Same measure as `cowork_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
3499 
3500 - `dispatch_turn_count: number`
3501 
3502 Same measure as `cowork_metrics.dispatch_turn_count`, for activity recorded while members had Chat and Cowork unified turned on.
3503 
3504 - `distinct_connectors_used_count: number or null`
3505 
3506 Same measure as `cowork_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3507 
3508 - `distinct_plugins_used_count: number or null`
3509 
3510 Same measure as `cowork_metrics.distinct_plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3511 
3512 - `distinct_session_count: number or null`
3513 
3514 Same measure as `cowork_metrics.distinct_session_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3515 
3516 - `distinct_skills_used_count: number or null`
3517 
3518 Same measure as `cowork_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3519 
3520 - `edit_tool_count: number or null`
3521 
3522 Same measure as `cowork_metrics.edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
3523 
3524 - `file_edit_count: number or null`
3525 
3526 Same measure as `cowork_metrics.file_edit_count`, for activity recorded while members had Chat and Cowork unified turned on.
3527 
3528 - `message_count: number`
3529 
3530 Same measure as `cowork_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
3531 
3532 - `multi_edit_tool_count: number or null`
3533 
3534 Same measure as `cowork_metrics.multi_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on. Claude no longer has a multi-edit tool, so expect 0 when not null; each edit is now a separate Edit tool call, counted in `edit_tool_count` and `file_edit_count`.
3535 
3536 - `notebook_edit_tool_count: number or null`
3537 
3538 Same measure as `cowork_metrics.notebook_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
3539 
3540 - `plugins_used_count: number or null`
3541 
3542 Same measure as `cowork_metrics.plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
3543 
3544 - `sessions_with_file_edits_count: number or null`
3545 
3546 Same measure as `cowork_metrics.sessions_with_file_edits_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
3547 
3548 - `skills_used_count: number`
3549 
3550 Same measure as `cowork_metrics.skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
3551 
3552 - `write_tool_count: number or null`
3553 
3554 Same measure as `cowork_metrics.write_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
30253555 
30263556 - `distinct_user_count: optional number or null`
30273557 
from line 3718
31883718 "skills_used_count": 0
31893719 },
31903720 "web_search_count": 0,
3721 "chat_cowork_unified_metrics": {
3722 "chat": {
3723 "connectors_used_count": 0,
3724 "distinct_artifacts_created_count": 0,
3725 "distinct_connectors_used_count": 0,
3726 "distinct_conversation_count": 0,
3727 "distinct_files_uploaded_count": 0,
3728 "distinct_projects_created_count": 0,
3729 "distinct_projects_used_count": 0,
3730 "distinct_shared_artifacts_viewed_count": 0,
3731 "distinct_skills_used_count": 0,
3732 "message_count": 0,
3733 "shared_conversations_viewed_count": 0,
3734 "thinking_message_count": 0
3735 },
3736 "sessions": {
3737 "action_count": 0,
3738 "artifacts_created_count": 0,
3739 "connectors_used_count": 0,
3740 "dispatch_turn_count": 0,
3741 "distinct_connectors_used_count": 0,
3742 "distinct_plugins_used_count": 0,
3743 "distinct_session_count": 0,
3744 "distinct_skills_used_count": 0,
3745 "edit_tool_count": 0,
3746 "file_edit_count": 0,
3747 "message_count": 0,
3748 "multi_edit_tool_count": 0,
3749 "notebook_edit_tool_count": 0,
3750 "plugins_used_count": 0,
3751 "sessions_with_file_edits_count": 0,
3752 "skills_used_count": 0,
3753 "write_tool_count": 0
3754 }
3755 },
31913756 "distinct_user_count": 0,
31923757 "last_activity_date": "2019-12-27",
31933758 "rbac_group_id": "rbac_group_id",
from line 3890
33253890 
33263891 - `product: optional string or null`
33273892 
3328 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
3893 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
33293894 
33303895 - `rbac_group_id: optional string or null`
33313896 
from line 3976
34113976 
34123977- `filter: optional array of string`
34133978 
3414 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
3979 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
34153980 
34163981 maxItems: 100
34173982 
from line 4080
35154080 
35164081 Office Agent activity metrics for a single connector on a given day within one Office product.
35174082 
4083 - `chat_cowork_unified_metrics: optional object or null`
4084 
4085 Connector use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
4086 
4087 - `chat: BetaAnalyticsConnectorChatCoworkUnifiedChatMetrics`
4088 
4089 A connector's use in chat conversations recorded while members had
4090 Chat and Cowork unified turned on.
4091 
4092 - `distinct_conversation_connector_used_count: number or null`
4093 
4094 Same measure as `chat_metrics.distinct_conversation_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
4095 
4096 - `sessions: BetaAnalyticsConnectorChatCoworkUnifiedSessionsMetrics`
4097 
4098 A connector's use in Cowork sessions recorded while members had
4099 Chat and Cowork unified turned on.
4100 
4101 - `distinct_session_connector_used_count: number or null`
4102 
4103 Same measure as `cowork_metrics.distinct_session_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
4104 
35184105 - `connector_display_name: optional string or null`
35194106 
35204107 Human-readable display name for rows whose `connector_name` is an opaque connector id rather than a readable name, resolved at request time from the organization's connectors (including connectors that have since been removed). `connector_name` remains the row's stable key for sorting and pagination, and `filter[]=connector_name:{value}` also matches these rows by display name. Display names are not unique, and the same connector's claude.ai usage can appear under a separate row with a readable `connector_name`. Null when `connector_name` is already a readable name, when the id cannot be resolved to one of the organization's connectors, or when display-name resolution is not enabled for this organization.
from line 4116
35294116 
35304117 - `product: optional string or null`
35314118 
3532 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
4119 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
35334120 
35344121 - `rbac_group_id: optional string or null`
35354122 
from line 4185
35984185 "distinct_session_connector_used_count": 0
35994186 }
36004187 },
4188 "chat_cowork_unified_metrics": {
4189 "chat": {
4190 "distinct_conversation_connector_used_count": 0
4191 },
4192 "sessions": {
4193 "distinct_session_connector_used_count": 0
4194 }
4195 },
36014196 "connector_display_name": "connector_display_name",
36024197 "individual_auth_distinct_user_count": 0,
36034198 "managed_auth_distinct_user_count": 0,
from line 4245
36504245 
36514246- `filter: optional array of string`
36524247 
3653 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `claude_code` or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
4248 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `chat_cowork_unified`, `claude_code`, or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
36544249 
36554250 maxItems: 100
36564251 
36574252- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
36584253 
3659 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `claude_code` or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
4254 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `chat_cowork_unified`, `claude_code`, or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
36604255 
36614256 maxItems: 100
36624257 
from line 4325
37304325 
37314326 Name of the plugin
37324327 
4328 - `chat_cowork_unified_metrics: optional object or null`
4329 
4330 Plugin use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
4331 
4332 - `distinct_session_plugin_used_count: number or null`
4333 
4334 Same measure as `cowork_metrics.distinct_session_plugin_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Null on aggregated rows where a distinct count cannot be computed.
4335 
37334336 - `plugin_id: optional string or null`
37344337 
37354338 Stable plugin identifier when available (e.g. `serena@claude-plugins-official`). Null for third-party Claude Code plugins (redacted at the source) and Cowork slash commands that carry only a hashed id.
37364339 
37374340 - `product: optional string or null`
37384341 
3739 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
4342 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
37404343 
37414344 - `rbac_group_id: optional string or null`
37424345 
from line 4381
37784381 "install_count": 0,
37794382 "invocation_count": 0,
37804383 "plugin_name": "plugin_name",
4384 "chat_cowork_unified_metrics": {
4385 "distinct_session_plugin_used_count": 0
4386 },
37814387 "plugin_id": "plugin_id",
37824388 "product": "product",
37834389 "rbac_group_id": "rbac_group_id",
from line 4426
38204426 
38214427- `filter: optional array of string`
38224428 
3823 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
4429 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
38244430 
38254431 maxItems: 100
38264432 
from line 4534
39284534 
39294535 List-price (rate-card) value of the member requests attributed to this skill, as a decimal string in the minor unit of `currency` (cents for USD), from Claude Code, Cowork, and Office Agent request-level attribution — the value of requests that involved the skill, not the skill's incremental cost. Unlike `estimated_overage_spend` this reflects usage value regardless of how it was funded — seat-covered usage counts — but it is undiscounted and does not tie to billed spend or the organization's spend reporting. claude.ai chat usage carries no request-level attribution and contributes nothing: the field is null on `chat` product rows and on `office_agent` product cuts dated before 2026-06-18 (the Office Agent attribution data-start), and on ungrouped rows it covers the Claude Code + Cowork + Office Agent share only (null when no attributable usage exists). Also null under the same conditions as `estimated_overage_spend` (spend reporting not enabled for this organization, `office_agent` product cuts before the 2026-06-18 data-start). "0" means attributable usage existed but none was attributed to this skill. Addable across days: date-range rollup mode returns the window's sum. On `group_by[]` and `filter[]` shapes both amounts can total below the ungrouped value for the same skill over the same date or range: spend attributed to a member–skill pair with no counted usage on that day is excluded from those cuts.
39304536 
4537 - `chat_cowork_unified_metrics: optional object or null`
4538 
4539 Skill use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
4540 
4541 - `chat: BetaAnalyticsSkillChatCoworkUnifiedChatMetrics`
4542 
4543 A skill's use in chat conversations recorded while members had
4544 Chat and Cowork unified turned on.
4545 
4546 - `distinct_conversation_skill_used_count: number or null`
4547 
4548 Same measure as `chat_metrics.distinct_conversation_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
4549 
4550 - `sessions: BetaAnalyticsSkillChatCoworkUnifiedSessionsMetrics`
4551 
4552 A skill's use in Cowork sessions recorded while members had Chat
4553 and Cowork unified turned on.
4554 
4555 - `distinct_session_skill_used_count: number or null`
4556 
4557 Same measure as `cowork_metrics.distinct_session_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
4558 
39314559 - `currency: optional string or null`
39324560 
39334561 Currency for this row's monetary fields (`estimated_overage_spend` and `attributed_list_price`), as an uppercase ISO-4217 code. Always "USD" when either amount is populated; null whenever both amounts are null.
from line 4574
39464574 
39474575 - `product: optional string or null`
39484576 
3949 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
4577 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
39504578 
39514579 - `rbac_group_id: optional string or null`
39524580 
from line 4646
40184646 },
40194647 "skill_name": "skill_name",
40204648 "attributed_list_price": "attributed_list_price",
4649 "chat_cowork_unified_metrics": {
4650 "chat": {
4651 "distinct_conversation_skill_used_count": 0
4652 },
4653 "sessions": {
4654 "distinct_session_skill_used_count": 0
4655 }
4656 },
40214657 "currency": "currency",
40224658 "enable_count": 0,
40234659 "estimated_overage_spend": "estimated_overage_spend",
from line 4694
40584694 
40594695- `filter: optional array of string`
40604696 
4061 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
4697 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
40624698 
40634699 maxItems: 100
40644700 
40654701- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
40664702 
4067 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
4703 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
40684704 
40694705 maxItems: 100
40704706 
from line 4746
41104746 
41114747 - `product: optional string or null`
41124748 
4113 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
4749 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
41144750 
41154751 - `rbac_group_id: optional string or null`
41164752 
from line 4924
42884924 
42894925 - `"chat"`
42904926 
4927 - `"chat_cowork_unified"`
4928 
42914929 - `"claude-tag"`
42924930 
42934931 - `"claude_code"`
from line 5046
44085046 
44095047 - `product: string or null`
44105048 
4411 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
5049 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
44125050 
44135051 - `rbac_group_id: string or null`
44145052 
from line 5315
46775315 
46785316 - `"chat"`
46795317 
5318 - `"chat_cowork_unified"`
5319 
46805320 - `"claude-tag"`
46815321 
46825322 - `"claude_code"`
from line 5463
48235463 
48245464 - `product: string or null`
48255465 
4826 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
5466 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
48275467 
48285468 - `rbac_group_id: string or null`
48295469 
from line 5714
50745714 
50755715 - `"chat"`
50765716 
5717 - `"chat_cowork_unified"`
5718 
50775719 - `"claude-tag"`
50785720 
50795721 - `"claude_code"`
from line 5836
51945836 
51955837 - `product: string or null`
51965838 
5197 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
5839 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
51985840 
51995841 - `rbac_group_id: string or null`
52005842 
from line 6102
54606102 
54616103 - `"chat"`
54626104 
6105 - `"chat_cowork_unified"`
6106 
54636107 - `"claude-tag"`
54646108 
54656109 - `"claude_code"`
from line 6250
56066250 
56076251 - `product: string or null`
56086252 
5609 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`, and `claude-tag`. `claude-tag` is Claude Tag, the Claude product in Slack. Some unattributed usage is reported as "other".
6253 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 on deployments that offer Chat and Cowork unified. Some unattributed usage is reported as "other".
56106254 
56116255 - `rbac_group_id: string or null`
56126256 
56136257 

api/beta/organization/analytics/artifacts Changed · +3 / -3 lines

from line 27
2727 
2828- `filter: optional array of string`
2929 
30 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
30 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
3131 
3232 maxItems: 100
3333 
3434- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
3535 
36 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
36 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
3737 
3838 maxItems: 100
3939 
from line 79
7979 
8080 - `product: optional string or null`
8181 
82 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
82 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
8383 
8484 - `rbac_group_id: optional string or null`
8585 

api/beta/organization/analytics/artifacts/list Changed · +3 / -3 lines

from line 25
2525 
2626- `filter: optional array of string`
2727 
28 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
28 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `artifact_type`, `is_shared`, `product`, `rbac_group_id`, `user_id`. Value forms: `artifact_type` is a canonical artifact MIME type (e.g. `text/markdown`) or `other`; `is_shared` is `true` or `false`; `product` is `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
2929 
3030 maxItems: 100
3131 
3232- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
3333 
34 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
34 Dimensions to break results out by: `product`, `user_id` and/or `rbac_group_id`. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via `next_page`. `product` takes the values `chat_cowork_unified`, `chat`, `claude_code`, or `cowork` (the surfaces that create artifacts). `rbac_group_id` attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.
3535 
3636 maxItems: 100
3737 
from line 77
7777 
7878 - `product: optional string or null`
7979 
80 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
80 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
8181 
8282 - `rbac_group_id: optional string or null`
8383 

api/beta/organization/analytics/connectors Changed · +32 / -2 lines

from line 36
3636 
3737- `filter: optional array of string`
3838 
39 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
39 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
4040 
4141 maxItems: 100
4242 
from line 140
140140 
141141 Office Agent activity metrics for a single connector on a given day within one Office product.
142142 
143 - `chat_cowork_unified_metrics: optional object or null`
144 
145 Connector use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
146 
147 - `chat: BetaAnalyticsConnectorChatCoworkUnifiedChatMetrics`
148 
149 A connector's use in chat conversations recorded while members had
150 Chat and Cowork unified turned on.
151 
152 - `distinct_conversation_connector_used_count: number or null`
153 
154 Same measure as `chat_metrics.distinct_conversation_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
155 
156 - `sessions: BetaAnalyticsConnectorChatCoworkUnifiedSessionsMetrics`
157 
158 A connector's use in Cowork sessions recorded while members had
159 Chat and Cowork unified turned on.
160 
161 - `distinct_session_connector_used_count: number or null`
162 
163 Same measure as `cowork_metrics.distinct_session_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
164 
143165 - `connector_display_name: optional string or null`
144166 
145167 Human-readable display name for rows whose `connector_name` is an opaque connector id rather than a readable name, resolved at request time from the organization's connectors (including connectors that have since been removed). `connector_name` remains the row's stable key for sorting and pagination, and `filter[]=connector_name:{value}` also matches these rows by display name. Display names are not unique, and the same connector's claude.ai usage can appear under a separate row with a readable `connector_name`. Null when `connector_name` is already a readable name, when the id cannot be resolved to one of the organization's connectors, or when display-name resolution is not enabled for this organization.
from line 176
154176 
155177 - `product: optional string or null`
156178 
157 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
179 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
158180 
159181 - `rbac_group_id: optional string or null`
160182 
from line 242
220242 "distinct_session_connector_used_count": 0
221243 },
222244 "word": {
245 "distinct_session_connector_used_count": 0
246 }
247 },
248 "chat_cowork_unified_metrics": {
249 "chat": {
250 "distinct_conversation_connector_used_count": 0
251 },
252 "sessions": {
223253 "distinct_session_connector_used_count": 0
224254 }
225255 },

api/beta/organization/analytics/connectors/list Changed · +32 / -2 lines

from line 34
3434 
3535- `filter: optional array of string`
3636 
37 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
37 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `connector_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `connector_name` matches case-insensitively, a display name such as 'GitHub MCP' also matches its normalized stored form ('github'), and for rows whose `connector_name` is an opaque connector id the connector's display name (`connector_display_name`) also matches; `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
3838 
3939 maxItems: 100
4040 
from line 138
138138 
139139 Office Agent activity metrics for a single connector on a given day within one Office product.
140140 
141 - `chat_cowork_unified_metrics: optional object or null`
142 
143 Connector use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
144 
145 - `chat: BetaAnalyticsConnectorChatCoworkUnifiedChatMetrics`
146 
147 A connector's use in chat conversations recorded while members had
148 Chat and Cowork unified turned on.
149 
150 - `distinct_conversation_connector_used_count: number or null`
151 
152 Same measure as `chat_metrics.distinct_conversation_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
153 
154 - `sessions: BetaAnalyticsConnectorChatCoworkUnifiedSessionsMetrics`
155 
156 A connector's use in Cowork sessions recorded while members had
157 Chat and Cowork unified turned on.
158 
159 - `distinct_session_connector_used_count: number or null`
160 
161 Same measure as `cowork_metrics.distinct_session_connector_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
162 
141163 - `connector_display_name: optional string or null`
142164 
143165 Human-readable display name for rows whose `connector_name` is an opaque connector id rather than a readable name, resolved at request time from the organization's connectors (including connectors that have since been removed). `connector_name` remains the row's stable key for sorting and pagination, and `filter[]=connector_name:{value}` also matches these rows by display name. Display names are not unique, and the same connector's claude.ai usage can appear under a separate row with a readable `connector_name`. Null when `connector_name` is already a readable name, when the id cannot be resolved to one of the organization's connectors, or when display-name resolution is not enabled for this organization.
from line 174
152174 
153175 - `product: optional string or null`
154176 
155 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
177 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
156178 
157179 - `rbac_group_id: optional string or null`
158180 
from line 240
218240 "distinct_session_connector_used_count": 0
219241 },
220242 "word": {
243 "distinct_session_connector_used_count": 0
244 }
245 },
246 "chat_cowork_unified_metrics": {
247 "chat": {
248 "distinct_conversation_connector_used_count": 0
249 },
250 "sessions": {
221251 "distinct_session_connector_used_count": 0
222252 }
223253 },

api/beta/organization/analytics/plugins Changed · +14 / -3 lines

from line 39
3939 
4040- `filter: optional array of string`
4141 
42 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `claude_code` or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
42 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `chat_cowork_unified`, `claude_code`, or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
4343 
4444 maxItems: 100
4545 
4646- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
4747 
48 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `claude_code` or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
48 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `chat_cowork_unified`, `claude_code`, or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
4949 
5050 maxItems: 100
5151 
from line 119
119119 
120120 Name of the plugin
121121 
122 - `chat_cowork_unified_metrics: optional object or null`
123 
124 Plugin use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
125 
126 - `distinct_session_plugin_used_count: number or null`
127 
128 Same measure as `cowork_metrics.distinct_session_plugin_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Null on aggregated rows where a distinct count cannot be computed.
129 
122130 - `plugin_id: optional string or null`
123131 
124132 Stable plugin identifier when available (e.g. `serena@claude-plugins-official`). Null for third-party Claude Code plugins (redacted at the source) and Cowork slash commands that carry only a hashed id.
from line 133
125133 
126134 - `product: optional string or null`
127135 
128 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
136 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
129137 
130138 - `rbac_group_id: optional string or null`
131139 
from line 175
167175 "install_count": 0,
168176 "invocation_count": 0,
169177 "plugin_name": "plugin_name",
178 "chat_cowork_unified_metrics": {
179 "distinct_session_plugin_used_count": 0
180 },
170181 "plugin_id": "plugin_id",
171182 "product": "product",
172183 "rbac_group_id": "rbac_group_id",

api/beta/organization/analytics/plugins/list Changed · +14 / -3 lines

from line 37
3737 
3838- `filter: optional array of string`
3939 
40 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `claude_code` or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
40 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `plugin_name`, `product`, `rbac_group_id`, `user_id`. Value forms: `plugin_name` matches case-insensitively; `product` is `chat_cowork_unified`, `claude_code`, or `cowork` (the only surfaces with plugin attribution); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
4141 
4242 maxItems: 100
4343 
4444- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
4545 
46 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `claude_code` or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
46 Dimensions to break results out by (e.g. `group_by[]=user_id`). Supported on this endpoint: `product`, `rbac_group_id`, `user_id`. On this endpoint `product` takes the values `chat_cowork_unified`, `claude_code`, or `cowork` only (the surfaces with plugin attribution). Grouped rows carry the requested dimension values as additional fields and paginate like ungrouped responses via `next_page`; an unsupported dimension returns 400. `rbac_group_id` attributes a user to every group they held at any point during each covered UTC day, so grouped rows are not an exclusive partition and can sum above org-level totals. At most 100 entries.
4747 
4848 maxItems: 100
4949 
from line 117
117117 
118118 Name of the plugin
119119 
120 - `chat_cowork_unified_metrics: optional object or null`
121 
122 Plugin use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
123 
124 - `distinct_session_plugin_used_count: number or null`
125 
126 Same measure as `cowork_metrics.distinct_session_plugin_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Null on aggregated rows where a distinct count cannot be computed.
127 
120128 - `plugin_id: optional string or null`
121129 
122130 Stable plugin identifier when available (e.g. `serena@claude-plugins-official`). Null for third-party Claude Code plugins (redacted at the source) and Cowork slash commands that carry only a hashed id.
from line 131
123131 
124132 - `product: optional string or null`
125133 
126 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
134 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
127135 
128136 - `rbac_group_id: optional string or null`
129137 
from line 173
165173 "install_count": 0,
166174 "invocation_count": 0,
167175 "plugin_name": "plugin_name",
176 "chat_cowork_unified_metrics": {
177 "distinct_session_plugin_used_count": 0
178 },
168179 "plugin_id": "plugin_id",
169180 "product": "product",
170181 "rbac_group_id": "rbac_group_id",

api/beta/organization/analytics/skills Changed · +32 / -2 lines

from line 34
3434 
3535- `filter: optional array of string`
3636 
37 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
37 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
3838 
3939 maxItems: 100
4040 
from line 142
142142 
143143 List-price (rate-card) value of the member requests attributed to this skill, as a decimal string in the minor unit of `currency` (cents for USD), from Claude Code, Cowork, and Office Agent request-level attribution — the value of requests that involved the skill, not the skill's incremental cost. Unlike `estimated_overage_spend` this reflects usage value regardless of how it was funded — seat-covered usage counts — but it is undiscounted and does not tie to billed spend or the organization's spend reporting. claude.ai chat usage carries no request-level attribution and contributes nothing: the field is null on `chat` product rows and on `office_agent` product cuts dated before 2026-06-18 (the Office Agent attribution data-start), and on ungrouped rows it covers the Claude Code + Cowork + Office Agent share only (null when no attributable usage exists). Also null under the same conditions as `estimated_overage_spend` (spend reporting not enabled for this organization, `office_agent` product cuts before the 2026-06-18 data-start). "0" means attributable usage existed but none was attributed to this skill. Addable across days: date-range rollup mode returns the window's sum. On `group_by[]` and `filter[]` shapes both amounts can total below the ungrouped value for the same skill over the same date or range: spend attributed to a member–skill pair with no counted usage on that day is excluded from those cuts.
144144 
145 - `chat_cowork_unified_metrics: optional object or null`
146 
147 Skill use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
148 
149 - `chat: BetaAnalyticsSkillChatCoworkUnifiedChatMetrics`
150 
151 A skill's use in chat conversations recorded while members had
152 Chat and Cowork unified turned on.
153 
154 - `distinct_conversation_skill_used_count: number or null`
155 
156 Same measure as `chat_metrics.distinct_conversation_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
157 
158 - `sessions: BetaAnalyticsSkillChatCoworkUnifiedSessionsMetrics`
159 
160 A skill's use in Cowork sessions recorded while members had Chat
161 and Cowork unified turned on.
162 
163 - `distinct_session_skill_used_count: number or null`
164 
165 Same measure as `cowork_metrics.distinct_session_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
166 
145167 - `currency: optional string or null`
146168 
147169 Currency for this row's monetary fields (`estimated_overage_spend` and `attributed_list_price`), as an uppercase ISO-4217 code. Always "USD" when either amount is populated; null whenever both amounts are null.
from line 182
160182 
161183 - `product: optional string or null`
162184 
163 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
185 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
164186 
165187 - `rbac_group_id: optional string or null`
166188 
from line 254
232254 },
233255 "skill_name": "skill_name",
234256 "attributed_list_price": "attributed_list_price",
257 "chat_cowork_unified_metrics": {
258 "chat": {
259 "distinct_conversation_skill_used_count": 0
260 },
261 "sessions": {
262 "distinct_session_skill_used_count": 0
263 }
264 },
235265 "currency": "currency",
236266 "enable_count": 0,
237267 "estimated_overage_spend": "estimated_overage_spend",

api/beta/organization/analytics/skills/list Changed · +32 / -2 lines

from line 32
3232 
3333- `filter: optional array of string`
3434 
35 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
35 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `product`, `rbac_group_id`, `share_status`, `skill_name`, `user_id`. Value forms: `product` is one of `chat_cowork_unified`, `chat`, `claude_code`, `cowork`, or `office_agent`; `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `share_status` is one of `organization`, `private`, or `public`; `skill_name` matches case-insensitively; `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. `chat_cowork_unified` is accepted as a `product` value only on deployments that offer Chat and Cowork unified.
3636 
3737 maxItems: 100
3838 
from line 140
140140 
141141 List-price (rate-card) value of the member requests attributed to this skill, as a decimal string in the minor unit of `currency` (cents for USD), from Claude Code, Cowork, and Office Agent request-level attribution — the value of requests that involved the skill, not the skill's incremental cost. Unlike `estimated_overage_spend` this reflects usage value regardless of how it was funded — seat-covered usage counts — but it is undiscounted and does not tie to billed spend or the organization's spend reporting. claude.ai chat usage carries no request-level attribution and contributes nothing: the field is null on `chat` product rows and on `office_agent` product cuts dated before 2026-06-18 (the Office Agent attribution data-start), and on ungrouped rows it covers the Claude Code + Cowork + Office Agent share only (null when no attributable usage exists). Also null under the same conditions as `estimated_overage_spend` (spend reporting not enabled for this organization, `office_agent` product cuts before the 2026-06-18 data-start). "0" means attributable usage existed but none was attributed to this skill. Addable across days: date-range rollup mode returns the window's sum. On `group_by[]` and `filter[]` shapes both amounts can total below the ungrouped value for the same skill over the same date or range: spend attributed to a member–skill pair with no counted usage on that day is excluded from those cuts.
142142 
143 - `chat_cowork_unified_metrics: optional object or null`
144 
145 Skill use recorded while members had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into chat conversations and Cowork sessions. A count is null in date-range mode where it cannot be computed. Omitted from the response on deployments that do not offer Chat and Cowork unified.
146 
147 - `chat: BetaAnalyticsSkillChatCoworkUnifiedChatMetrics`
148 
149 A skill's use in chat conversations recorded while members had
150 Chat and Cowork unified turned on.
151 
152 - `distinct_conversation_skill_used_count: number or null`
153 
154 Same measure as `chat_metrics.distinct_conversation_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
155 
156 - `sessions: BetaAnalyticsSkillChatCoworkUnifiedSessionsMetrics`
157 
158 A skill's use in Cowork sessions recorded while members had Chat
159 and Cowork unified turned on.
160 
161 - `distinct_session_skill_used_count: number or null`
162 
163 Same measure as `cowork_metrics.distinct_session_skill_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
164 
143165 - `currency: optional string or null`
144166 
145167 Currency for this row's monetary fields (`estimated_overage_spend` and `attributed_list_price`), as an uppercase ISO-4217 code. Always "USD" when either amount is populated; null whenever both amounts are null.
from line 180
158180 
159181 - `product: optional string or null`
160182 
161 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, or `office_agent` (the canonical Cost & Usage product naming; an `office_agent` row's per-surface breakdown is in its `office_metrics`). On `/plugins` only `cowork` and `claude_code` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, and `cowork` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
183 Product that produced this row's activity: one of `chat`, `claude_code`, `cowork`, `office_agent`, or `chat_cowork_unified` (Chat and Cowork unified). These are the canonical Cost & Usage product names; an `office_agent` row's per-surface breakdown is in its `office_metrics`. On `/plugins` only `cowork`, `claude_code` and `chat_cowork_unified` occur (the only surfaces with plugin attribution); on `/artifacts` only `chat`, `claude_code`, `cowork` and `chat_cowork_unified` occur (the surfaces that create artifacts); `/apps/chat/projects` does not support the product dimension (a `product` entry in `group_by[]` or `filter[]` there is rejected). Present only when the request grouped by `product`.
162184 
163185 - `rbac_group_id: optional string or null`
164186 
from line 252
230252 },
231253 "skill_name": "skill_name",
232254 "attributed_list_price": "attributed_list_price",
255 "chat_cowork_unified_metrics": {
256 "chat": {
257 "distinct_conversation_skill_used_count": 0
258 },
259 "sessions": {
260 "distinct_session_skill_used_count": 0
261 }
262 },
233263 "currency": "currency",
234264 "enable_count": 0,
235265 "estimated_overage_spend": "estimated_overage_spend",

api/beta/organization/analytics/summaries Changed · +31 / -1 lines

from line 14
1414Returns one entry per day from `starting_date` (inclusive) to `ending_date`
1515(exclusive) in `data`, the same `data` / `next_page` envelope as the other
1616analytics list endpoints; the series is currently returned in full, so
17`next_page` is always null (`summaries` is a deprecated alias of `data`).
17`next_page` is always null.
1818Data is typically available with a 1-day lag and may be revised by a few
1919percent over the following days: when `ending_date` is omitted it
2020defaults to the most recent available day + 1, so the last entry covers
from line 114
114114 
115115 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
116116 
117 - `chat_cowork_unified_daily_active_user_count: optional number or null`
118 
119 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
120 
121 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
122 
123 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
124 
125 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
126 
127 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
128 
117129 - `chat_daily_active_user_count: optional number or null`
118130 
119131 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 256
244256 
245257 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
246258 
259 - `chat_cowork_unified_daily_active_user_count: optional number or null`
260 
261 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
262 
263 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
264 
265 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
266 
267 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
268 
269 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
270 
247271 - `chat_daily_active_user_count: optional number or null`
248272 
249273 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 359
335359 "starting_at": "2019-12-27T18:11:19.117Z",
336360 "weekly_active_user_count": 0,
337361 "weekly_adoption_rate": 0,
362 "chat_cowork_unified_daily_active_user_count": 0,
363 "chat_cowork_unified_monthly_active_user_count": 0,
364 "chat_cowork_unified_weekly_active_user_count": 0,
338365 "chat_daily_active_user_count": 0,
339366 "chat_monthly_active_user_count": 0,
340367 "chat_weekly_active_user_count": 0,
from line 396
369396 "starting_at": "2019-12-27T18:11:19.117Z",
370397 "weekly_active_user_count": 0,
371398 "weekly_adoption_rate": 0,
399 "chat_cowork_unified_daily_active_user_count": 0,
400 "chat_cowork_unified_monthly_active_user_count": 0,
401 "chat_cowork_unified_weekly_active_user_count": 0,
372402 "chat_daily_active_user_count": 0,
373403 "chat_monthly_active_user_count": 0,
374404 "chat_weekly_active_user_count": 0,

api/beta/organization/analytics/summaries/list Changed · +31 / -1 lines

from line 12
1212Returns one entry per day from `starting_date` (inclusive) to `ending_date`
1313(exclusive) in `data`, the same `data` / `next_page` envelope as the other
1414analytics list endpoints; the series is currently returned in full, so
15`next_page` is always null (`summaries` is a deprecated alias of `data`).
15`next_page` is always null.
1616Data is typically available with a 1-day lag and may be revised by a few
1717percent over the following days: when `ending_date` is omitted it
1818defaults to the most recent available day + 1, so the last entry covers
from line 112
112112 
113113 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
114114 
115 - `chat_cowork_unified_daily_active_user_count: optional number or null`
116 
117 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
118 
119 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
120 
121 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
122 
123 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
124 
125 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
126 
115127 - `chat_daily_active_user_count: optional number or null`
116128 
117129 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 254
242254 
243255 Percentage of assigned seats with activity in the 7-day rolling window (`WAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
244256 
257 - `chat_cowork_unified_daily_active_user_count: optional number or null`
258 
259 Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response on deployments that do not offer Chat and Cowork unified.
260 
261 - `chat_cowork_unified_monthly_active_user_count: optional number or null`
262 
263 Number of users with activity in Chat and Cowork unified in the 28-day rolling window (30 days when the request filters by `rbac_group_id`). Omitted from the response on deployments that do not offer Chat and Cowork unified.
264 
265 - `chat_cowork_unified_weekly_active_user_count: optional number or null`
266 
267 Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response on deployments that do not offer Chat and Cowork unified.
268 
245269 - `chat_daily_active_user_count: optional number or null`
246270 
247271 Number of users with claude.ai (chat) activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
from line 357
333357 "starting_at": "2019-12-27T18:11:19.117Z",
334358 "weekly_active_user_count": 0,
335359 "weekly_adoption_rate": 0,
360 "chat_cowork_unified_daily_active_user_count": 0,
361 "chat_cowork_unified_monthly_active_user_count": 0,
362 "chat_cowork_unified_weekly_active_user_count": 0,
336363 "chat_daily_active_user_count": 0,
337364 "chat_monthly_active_user_count": 0,
338365 "chat_weekly_active_user_count": 0,
from line 394
367394 "starting_at": "2019-12-27T18:11:19.117Z",
368395 "weekly_active_user_count": 0,
369396 "weekly_adoption_rate": 0,
397 "chat_cowork_unified_daily_active_user_count": 0,
398 "chat_cowork_unified_monthly_active_user_count": 0,
399 "chat_cowork_unified_weekly_active_user_count": 0,
370400 "chat_daily_active_user_count": 0,
371401 "chat_monthly_active_user_count": 0,
372402 "chat_weekly_active_user_count": 0,

api/beta/organization/analytics/users Changed · +166 / -1 lines

from line 33
3333 
3434- `filter: optional array of string`
3535 
36 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`) and scopes each member's row to their claude.ai chat activity within that project (it cannot be combined with `group_by[]` or an `rbac_group_id` filter); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
36 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. A `project_id` filter limits each member's row to their claude.ai chat activity in that project and cannot be combined with `group_by[]` or an `rbac_group_id` filter. On these rows, every count in `chat_cowork_unified_metrics.sessions` is 0, because sessions are not measured per project. On any day a member sent a chat message in Chat and Cowork unified, all of that member's project activity for the day is counted in `chat_cowork_unified_metrics.chat` instead of `chat_metrics`.
3737 
3838 maxItems: 100
3939 
from line 355
355355 
356356 Number of web searches performed
357357 
358 - `chat_cowork_unified_metrics: optional object or null`
359 
360 Activity recorded while the member had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into `chat` (chat activity) and `sessions` (Cowork activity). Omitted from the response on deployments that do not offer Chat and Cowork unified.
361 
362 - `chat: BetaAnalyticsChatCoworkUnifiedChatMetrics`
363 
364 Chat activity recorded while members had Chat and Cowork unified turned
365 on.
366 
367 - `connectors_used_count: number`
368 
369 Same measure as `chat_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
370 
371 - `distinct_artifacts_created_count: number`
372 
373 Same measure as `chat_metrics.distinct_artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
374 
375 - `distinct_connectors_used_count: number or null`
376 
377 Same measure as `chat_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
378 
379 - `distinct_conversation_count: number or null`
380 
381 Same measure as `chat_metrics.distinct_conversation_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
382 
383 - `distinct_files_uploaded_count: number or null`
384 
385 Same measure as `chat_metrics.distinct_files_uploaded_count`, for activity recorded while members had Chat and Cowork unified turned on. It counts uploaded files as well as files Claude created and images returned by Claude's tools, such as screenshots. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
386 
387 - `distinct_projects_created_count: number`
388 
389 Same measure as `chat_metrics.distinct_projects_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
390 
391 - `distinct_projects_used_count: number or null`
392 
393 Same measure as `chat_metrics.distinct_projects_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
394 
395 - `distinct_shared_artifacts_viewed_count: number or null`
396 
397 Always null: shared-artifact views are not currently measured.
398 
399 - `distinct_skills_used_count: number or null`
400 
401 Same measure as `chat_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
402 
403 - `message_count: number`
404 
405 Same measure as `chat_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
406 
407 - `shared_conversations_viewed_count: number`
408 
409 Same measure as `chat_metrics.shared_conversations_viewed_count`, for activity recorded while members had Chat and Cowork unified turned on.
410 
411 - `thinking_message_count: number`
412 
413 Same measure as `chat_metrics.thinking_message_count`, for activity recorded while members had Chat and Cowork unified turned on.
414 
415 - `sessions: BetaAnalyticsChatCoworkUnifiedSessionsMetrics`
416 
417 Cowork session activity recorded while members had Chat and Cowork
418 unified turned on.
419 
420 - `action_count: number`
421 
422 Same measure as `cowork_metrics.action_count`, for activity recorded while members had Chat and Cowork unified turned on.
423 
424 - `artifacts_created_count: number`
425 
426 Same measure as `cowork_metrics.artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
427 
428 - `connectors_used_count: number`
429 
430 Same measure as `cowork_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
431 
432 - `dispatch_turn_count: number`
433 
434 Same measure as `cowork_metrics.dispatch_turn_count`, for activity recorded while members had Chat and Cowork unified turned on.
435 
436 - `distinct_connectors_used_count: number or null`
437 
438 Same measure as `cowork_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
439 
440 - `distinct_plugins_used_count: number or null`
441 
442 Same measure as `cowork_metrics.distinct_plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
443 
444 - `distinct_session_count: number or null`
445 
446 Same measure as `cowork_metrics.distinct_session_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
447 
448 - `distinct_skills_used_count: number or null`
449 
450 Same measure as `cowork_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
451 
452 - `edit_tool_count: number or null`
453 
454 Same measure as `cowork_metrics.edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
455 
456 - `file_edit_count: number or null`
457 
458 Same measure as `cowork_metrics.file_edit_count`, for activity recorded while members had Chat and Cowork unified turned on.
459 
460 - `message_count: number`
461 
462 Same measure as `cowork_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
463 
464 - `multi_edit_tool_count: number or null`
465 
466 Same measure as `cowork_metrics.multi_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on. Claude no longer has a multi-edit tool, so expect 0 when not null; each edit is now a separate Edit tool call, counted in `edit_tool_count` and `file_edit_count`.
467 
468 - `notebook_edit_tool_count: number or null`
469 
470 Same measure as `cowork_metrics.notebook_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
471 
472 - `plugins_used_count: number or null`
473 
474 Same measure as `cowork_metrics.plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
475 
476 - `sessions_with_file_edits_count: number or null`
477 
478 Same measure as `cowork_metrics.sessions_with_file_edits_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
479 
480 - `skills_used_count: number`
481 
482 Same measure as `cowork_metrics.skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
483 
484 - `write_tool_count: number or null`
485 
486 Same measure as `cowork_metrics.write_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
487 
358488 - `distinct_user_count: optional number or null`
359489 
360490 Number of distinct active users represented by this row. Only set for grouped rollups (`group_by[]`); null for per-user rows. In date-range mode, recomputed as an exact distinct count of the group's active members over the requested window, never a sum of per-day values.
from line 650
520650 "skills_used_count": 0
521651 },
522652 "web_search_count": 0,
653 "chat_cowork_unified_metrics": {
654 "chat": {
655 "connectors_used_count": 0,
656 "distinct_artifacts_created_count": 0,
657 "distinct_connectors_used_count": 0,
658 "distinct_conversation_count": 0,
659 "distinct_files_uploaded_count": 0,
660 "distinct_projects_created_count": 0,
661 "distinct_projects_used_count": 0,
662 "distinct_shared_artifacts_viewed_count": 0,
663 "distinct_skills_used_count": 0,
664 "message_count": 0,
665 "shared_conversations_viewed_count": 0,
666 "thinking_message_count": 0
667 },
668 "sessions": {
669 "action_count": 0,
670 "artifacts_created_count": 0,
671 "connectors_used_count": 0,
672 "dispatch_turn_count": 0,
673 "distinct_connectors_used_count": 0,
674 "distinct_plugins_used_count": 0,
675 "distinct_session_count": 0,
676 "distinct_skills_used_count": 0,
677 "edit_tool_count": 0,
678 "file_edit_count": 0,
679 "message_count": 0,
680 "multi_edit_tool_count": 0,
681 "notebook_edit_tool_count": 0,
682 "plugins_used_count": 0,
683 "sessions_with_file_edits_count": 0,
684 "skills_used_count": 0,
685 "write_tool_count": 0
686 }
687 },
523688 "distinct_user_count": 0,
524689 "last_activity_date": "2019-12-27",
525690 "rbac_group_id": "rbac_group_id",

api/beta/organization/analytics/users/list Changed · +166 / -1 lines

from line 31
3131 
3232- `filter: optional array of string`
3333 
34 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`) and scopes each member's row to their claude.ai chat activity within that project (it cannot be combined with `group_by[]` or an `rbac_group_id` filter); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
34 Filters as `dimension:value`, e.g. `filter[]=rbac_group_id:{id}`. Repeat the param for OR within a dimension and across dimensions for AND. Supported dimensions on this endpoint: `project_id`, `rbac_group_id`, `user_id`. Value forms: `project_id` takes a tagged project id (`claude_proj_...`); `rbac_group_id` takes the tagged id (`rbac_group_...`, as emitted in responses and by the spend-limits API) or a bare group UUID, and matches users who held the group at any point during each covered UTC day (time-of-usage attribution); `user_id` takes a tagged user id (`user_...`), as emitted in responses. An unsupported dimension returns 400. At most 100 entries. A `project_id` filter limits each member's row to their claude.ai chat activity in that project and cannot be combined with `group_by[]` or an `rbac_group_id` filter. On these rows, every count in `chat_cowork_unified_metrics.sessions` is 0, because sessions are not measured per project. On any day a member sent a chat message in Chat and Cowork unified, all of that member's project activity for the day is counted in `chat_cowork_unified_metrics.chat` instead of `chat_metrics`.
3535 
3636 maxItems: 100
3737 
from line 353
353353 
354354 Number of web searches performed
355355 
356 - `chat_cowork_unified_metrics: optional object or null`
357 
358 Activity recorded while the member had Chat and Cowork unified (Cowork's features inside claude.ai chat) turned on, split into `chat` (chat activity) and `sessions` (Cowork activity). Omitted from the response on deployments that do not offer Chat and Cowork unified.
359 
360 - `chat: BetaAnalyticsChatCoworkUnifiedChatMetrics`
361 
362 Chat activity recorded while members had Chat and Cowork unified turned
363 on.
364 
365 - `connectors_used_count: number`
366 
367 Same measure as `chat_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
368 
369 - `distinct_artifacts_created_count: number`
370 
371 Same measure as `chat_metrics.distinct_artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
372 
373 - `distinct_connectors_used_count: number or null`
374 
375 Same measure as `chat_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
376 
377 - `distinct_conversation_count: number or null`
378 
379 Same measure as `chat_metrics.distinct_conversation_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
380 
381 - `distinct_files_uploaded_count: number or null`
382 
383 Same measure as `chat_metrics.distinct_files_uploaded_count`, for activity recorded while members had Chat and Cowork unified turned on. It counts uploaded files as well as files Claude created and images returned by Claude's tools, such as screenshots. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
384 
385 - `distinct_projects_created_count: number`
386 
387 Same measure as `chat_metrics.distinct_projects_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
388 
389 - `distinct_projects_used_count: number or null`
390 
391 Same measure as `chat_metrics.distinct_projects_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
392 
393 - `distinct_shared_artifacts_viewed_count: number or null`
394 
395 Always null: shared-artifact views are not currently measured.
396 
397 - `distinct_skills_used_count: number or null`
398 
399 Same measure as `chat_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
400 
401 - `message_count: number`
402 
403 Same measure as `chat_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
404 
405 - `shared_conversations_viewed_count: number`
406 
407 Same measure as `chat_metrics.shared_conversations_viewed_count`, for activity recorded while members had Chat and Cowork unified turned on.
408 
409 - `thinking_message_count: number`
410 
411 Same measure as `chat_metrics.thinking_message_count`, for activity recorded while members had Chat and Cowork unified turned on.
412 
413 - `sessions: BetaAnalyticsChatCoworkUnifiedSessionsMetrics`
414 
415 Cowork session activity recorded while members had Chat and Cowork
416 unified turned on.
417 
418 - `action_count: number`
419 
420 Same measure as `cowork_metrics.action_count`, for activity recorded while members had Chat and Cowork unified turned on.
421 
422 - `artifacts_created_count: number`
423 
424 Same measure as `cowork_metrics.artifacts_created_count`, for activity recorded while members had Chat and Cowork unified turned on. Exact in date-range mode: a creation belongs to exactly one day, so the per-day counts never overlap and their sum over the window is the exact count of distinct creations in it.
425 
426 - `connectors_used_count: number`
427 
428 Same measure as `cowork_metrics.connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
429 
430 - `dispatch_turn_count: number`
431 
432 Same measure as `cowork_metrics.dispatch_turn_count`, for activity recorded while members had Chat and Cowork unified turned on.
433 
434 - `distinct_connectors_used_count: number or null`
435 
436 Same measure as `cowork_metrics.distinct_connectors_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
437 
438 - `distinct_plugins_used_count: number or null`
439 
440 Same measure as `cowork_metrics.distinct_plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
441 
442 - `distinct_session_count: number or null`
443 
444 Same measure as `cowork_metrics.distinct_session_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
445 
446 - `distinct_skills_used_count: number or null`
447 
448 Same measure as `cowork_metrics.distinct_skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
449 
450 - `edit_tool_count: number or null`
451 
452 Same measure as `cowork_metrics.edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
453 
454 - `file_edit_count: number or null`
455 
456 Same measure as `cowork_metrics.file_edit_count`, for activity recorded while members had Chat and Cowork unified turned on.
457 
458 - `message_count: number`
459 
460 Same measure as `cowork_metrics.message_count`, for activity recorded while members had Chat and Cowork unified turned on.
461 
462 - `multi_edit_tool_count: number or null`
463 
464 Same measure as `cowork_metrics.multi_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on. Claude no longer has a multi-edit tool, so expect 0 when not null; each edit is now a separate Edit tool call, counted in `edit_tool_count` and `file_edit_count`.
465 
466 - `notebook_edit_tool_count: number or null`
467 
468 Same measure as `cowork_metrics.notebook_edit_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
469 
470 - `plugins_used_count: number or null`
471 
472 Same measure as `cowork_metrics.plugins_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
473 
474 - `sessions_with_file_edits_count: number or null`
475 
476 Same measure as `cowork_metrics.sessions_with_file_edits_count`, for activity recorded while members had Chat and Cowork unified turned on. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
477 
478 - `skills_used_count: number`
479 
480 Same measure as `cowork_metrics.skills_used_count`, for activity recorded while members had Chat and Cowork unified turned on.
481 
482 - `write_tool_count: number or null`
483 
484 Same measure as `cowork_metrics.write_tool_count`, for activity recorded while members had Chat and Cowork unified turned on.
485 
356486 - `distinct_user_count: optional number or null`
357487 
358488 Number of distinct active users represented by this row. Only set for grouped rollups (`group_by[]`); null for per-user rows. In date-range mode, recomputed as an exact distinct count of the group's active members over the requested window, never a sum of per-day values.
from line 648
518648 "skills_used_count": 0
519649 },
520650 "web_search_count": 0,
651 "chat_cowork_unified_metrics": {
652 "chat": {
653 "connectors_used_count": 0,
654 "distinct_artifacts_created_count": 0,
655 "distinct_connectors_used_count": 0,
656 "distinct_conversation_count": 0,
657 "distinct_files_uploaded_count": 0,
658 "distinct_projects_created_count": 0,
659 "distinct_projects_used_count": 0,
660 "distinct_shared_artifacts_viewed_count": 0,
661 "distinct_skills_used_count": 0,
662 "message_count": 0,
663 "shared_conversations_viewed_count": 0,
664 "thinking_message_count": 0
665 },
666 "sessions": {
667 "action_count": 0,
668 "artifacts_created_count": 0,
669 "connectors_used_count": 0,
670 "dispatch_turn_count": 0,
671 "distinct_connectors_used_count": 0,
672 "distinct_plugins_used_count": 0,
673 "distinct_session_count": 0,
674 "distinct_skills_used_count": 0,
675 "edit_tool_count": 0,
676 "file_edit_count": 0,
677 "message_count": 0,
678 "multi_edit_tool_count": 0,
679 "notebook_edit_tool_count": 0,
680 "plugins_used_count": 0,
681 "sessions_with_file_edits_count": 0,
682 "skills_used_count": 0,
683 "write_tool_count": 0
684 }
685 },
521686 "distinct_user_count": 0,
522687 "last_activity_date": "2019-12-27",
523688 "rbac_group_id": "rbac_group_id",

api/beta/organization/spend_limits Changed · +5 / -2 lines

from line 532
532532pages. A Claude Enterprise organization's are grouped by scope type,
533533in the order `organization`, `seat_tier`, `rbac_group`,
534534`organization_service`, `user`; within a type they come in a fixed order that
535is not creation order.
535is not creation order. Listing Claude Console limits is in an early access
536preview. To request access, contact your Anthropic account team.
536537 
537538### Query parameters
538539 
from line 1226
12251226 
12261227Returns one row per (member, period) the member resolves a spend limit
12271228for, with the `source` scope the spend limit was inherited from.
1228Paginates by member, so a member's periods never split across pages.
1229Paginates by member, so a member's periods never split across pages. Listing
1230Claude Console limits is in an early access preview. To request access,
1231contact your Anthropic account team.
12291232 
12301233#### Query parameters
12311234 

api/compliance Changed · +5 / -0 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

Nothing in the body moved in this read. What changed is above.

api/compliance/apps Changed · +5 / -0 lines

from line 245
245245Permanently deletes a chat and all associated messages and
246246files. This is a destructive operation that cannot be undone.
247247 
248A chat's remote sessions are deleted first. If that deletion cannot be
249confirmed, the request returns a 503 with error code
250`chat_delete_remote_sessions_unconfirmed` and leaves the chat unchanged.
251You can retry the request.
252 
248253#### Path parameters
249254 
250255- `claude_chat_id: string`

api/compliance/apps/chats Changed · +5 / -0 lines

from line 243
243243Permanently deletes a chat and all associated messages and
244244files. This is a destructive operation that cannot be undone.
245245 
246A chat's remote sessions are deleted first. If that deletion cannot be
247confirmed, the request returns a 503 with error code
248`chat_delete_remote_sessions_unconfirmed` and leaves the chat unchanged.
249You can retry the request.
250 
246251### Path parameters
247252 
248253- `claude_chat_id: string`

api/compliance/apps/chats/delete Changed · +5 / -0 lines

from line 10
1010Permanently deletes a chat and all associated messages and
1111files. This is a destructive operation that cannot be undone.
1212 
13A chat's remote sessions are deleted first. If that deletion cannot be
14confirmed, the request returns a 503 with error code
15`chat_delete_remote_sessions_unconfirmed` and leaves the chat unchanged.
16You can retry the request.
17 
1318## Path parameters
1419 
1520- `claude_chat_id: string`

api/models Changed · +102 / -0 lines

from line 23
2323 
2424 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
2525 
26- `lifecycle: optional array of "active" or "deprecated" or "retired"`
27 
28 Filter the list to models in any of the given lifecycle stages (`active`, `deprecated`, or `retired`). Up to 3 values. When omitted, the list contains the `active` and `deprecated` models; `retired` models appear only when `retired` is requested explicitly.
29 
30 maxItems: 3
31 
32 - `"active"`
33 
34 - `"deprecated"`
35 
36 - `"retired"`
37 
2638- `limit: optional number`
2739 
2840 Number of items to return per page.
from line 301
289301 
290302 format: date-time
291303 
304 - `deprecated_at: string or null`
305 
306 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
307 
308 format: date-time
309 
292310 - `display_name: string`
293311 
294312 A human-readable name for the model.
295313 
314 - `lifecycle: "active" or "deprecated" or "retired"`
315 
316 The model's current lifecycle stage.
317 
318 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
319 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
320 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
321 
322 default: active
323 
324 - `"active"`
325 
326 - `"deprecated"`
327 
328 - `"retired"`
329 
296330 - `line: ModelLine or null`
297331 
298332 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 349
315349 
316350 Maximum value for the `max_tokens` parameter when using this model.
317351 
352 - `retires_at: string or null`
353 
354 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
355 
356 format: date-time
357 
318358- `first_id: string or null`
319359 
320360 First ID in the `data` list. Can be used as the `before_id` for the previous page.
from line 456
416456 }
417457 },
418458 "created_at": "2026-07-24T00:00:00Z",
459 "deprecated_at": "2019-12-27T18:11:19.117Z",
419460 "display_name": "Claude Opus 5",
461 "lifecycle": "active",
420462 "line": "haiku",
421463 "max_input_tokens": 0,
422464 "max_tokens": 0,
465 "retires_at": "2019-12-27T18:11:19.117Z",
423466 "type": "model"
424467 }
425468 ],
from line 744
701744 
702745 format: date-time
703746 
747 - `deprecated_at: string or null`
748 
749 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
750 
751 format: date-time
752 
704753 - `display_name: string`
705754 
706755 A human-readable name for the model.
707756 
757 - `lifecycle: "active" or "deprecated" or "retired"`
758 
759 The model's current lifecycle stage.
760 
761 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
762 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
763 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
764 
765 default: active
766 
767 - `"active"`
768 
769 - `"deprecated"`
770 
771 - `"retired"`
772 
708773 - `line: ModelLine or null`
709774 
710775 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 792
727792 
728793 Maximum value for the `max_tokens` parameter when using this model.
729794 
795 - `retires_at: string or null`
796 
797 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
798 
799 format: date-time
800 
730801### Example
731802 
732803```bash
from line 885
814885 }
815886 },
816887 "created_at": "2026-07-24T00:00:00Z",
888 "deprecated_at": "2019-12-27T18:11:19.117Z",
817889 "display_name": "Claude Opus 5",
890 "lifecycle": "active",
818891 "line": "haiku",
819892 "max_input_tokens": 0,
820893 "max_tokens": 0,
894 "retires_at": "2019-12-27T18:11:19.117Z",
821895 "type": "model"
822896}
823897```
from line 1232
11581232 
11591233 format: date-time
11601234 
1235 - `deprecated_at: string or null`
1236 
1237 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
1238 
1239 format: date-time
1240 
11611241 - `display_name: string`
11621242 
11631243 A human-readable name for the model.
11641244 
1245 - `lifecycle: "active" or "deprecated" or "retired"`
1246 
1247 The model's current lifecycle stage.
1248 
1249 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
1250 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
1251 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
1252 
1253 default: active
1254 
1255 - `"active"`
1256 
1257 - `"deprecated"`
1258 
1259 - `"retired"`
1260 
11651261 - `line: ModelLine or null`
11661262 
11671263 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 1279
11831279 - `max_tokens: number or null`
11841280 
11851281 Maximum value for the `max_tokens` parameter when using this model.
1282 
1283 - `retires_at: string or null`
1284 
1285 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
1286 
1287 format: date-time
11861288 
11871289### Model Line
11881290 

api/models/list Changed · +43 / -0 lines

from line 21
2121 
2222 ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
2323 
24- `lifecycle: optional array of "active" or "deprecated" or "retired"`
25 
26 Filter the list to models in any of the given lifecycle stages (`active`, `deprecated`, or `retired`). Up to 3 values. When omitted, the list contains the `active` and `deprecated` models; `retired` models appear only when `retired` is requested explicitly.
27 
28 maxItems: 3
29 
30 - `"active"`
31 
32 - `"deprecated"`
33 
34 - `"retired"`
35 
2436- `limit: optional number`
2537 
2638 Number of items to return per page.
from line 299
287299 
288300 format: date-time
289301 
302 - `deprecated_at: string or null`
303 
304 RFC 3339 datetime string representing the time of the model's most recent deprecation. Populated for `deprecated` and `retired` models; `null` while the model is `active`.
305 
306 format: date-time
307 
290308 - `display_name: string`
291309 
292310 A human-readable name for the model.
293311 
312 - `lifecycle: "active" or "deprecated" or "retired"`
313 
314 The model's current lifecycle stage.
315 
316 - `active`: The model is available for use, open to new adopters, and not scheduled for retirement.
317 - `deprecated`: The model remains callable for organizations with existing access, but is headed for retirement and closed to new adopters.
318 - `retired`: The model is no longer available for use; inference requests naming it fail. It remains in the catalogue as the historical record of its retirement.
319 
320 default: active
321 
322 - `"active"`
323 
324 - `"deprecated"`
325 
326 - `"retired"`
327 
294328 - `line: ModelLine or null`
295329 
296330 The model line this model belongs to, such as `opus` for both Claude Opus 4.5 and Claude Opus 4.6. More lines may be added. `null` when the model belongs to no line; do not infer a line from the `id`.
from line 347
313347 
314348 Maximum value for the `max_tokens` parameter when using this model.
315349 
350 - `retires_at: string or null`
351 
352 RFC 3339 datetime string representing the model's currently scheduled retirement date. The schedule can be revised until retirement occurs; `null` while the model is `active` or while no retirement is scheduled. A past date on a `deprecated` model means retirement is overdue, not that it has occurred: `lifecycle` is the retirement signal.
353 
354 format: date-time
355 
316356- `first_id: string or null`
317357 
318358 First ID in the `data` list. Can be used as the `before_id` for the previous page.
from line 454
414454 }
415455 },
416456 "created_at": "2026-07-24T00:00:00Z",
457 "deprecated_at": "2019-12-27T18:11:19.117Z",
417458 "display_name": "Claude Opus 5",
459 "lifecycle": "active",
418460 "line": "haiku",
419461 "max_input_tokens": 0,
420462 "max_tokens": 0,
463 "retires_at": "2019-12-27T18:11:19.117Z",
421464 "type": "model"
422465 }
423466 ],
Feedback