List User Activity changedapi/admin/analytics/users/list
Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+34added
Lines−29removed
From line
1
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits5to this page, all time
# List User Activity ## Query parameters ## Returns ## Example ### Response (200) ## List User Activity ### Query Parameters ### Returns ### Example #### Response
The whole hunk
from line 1, old and new numbered
/
from line 1
1---
2title: List User Activity
3url: https://platform.claude.com/docs/en/api/admin/analytics/users/list
4---
1# List User Activity
52
6## List User Activity
3**GET** `/v1/organizations/analytics/users`
74
8**get** `/v1/organizations/analytics/users`
9
105Get per-user activity for a given day, with cursor-based pagination.
116
127Returns activity metrics for each user in the organization, sorted by email
from line 10
1510to organizations on a Claude Enterprise plan. Requires an API key with
1611the `read:analytics` scope.
1712
18### Query Parameters
13## Query parameters
1914
2015- `date: optional string`
2116
2217 UTC date in YYYY-MM-DD format. The day to get user activity for. Data is typically available with a 1-day lag (varies by query; the error for a too-recent date names the latest available day) and may be revised by a few percent over the following days. No earlier than 2026-01-01.
2318
19 format: date
20
2421- `ending_date: optional string`
2522
2623 UTC date in YYYY-MM-DD format. End of the date range (exclusive); only valid with starting_date. Data is typically available with a 1-day lag (varies by query; the error for a too-recent date names the latest available day), so this can be at most today — which is also the default when omitted, resolved once when the first page is served and reused for the rest of the pagination sequence. At most 366 days after starting_date.
2724
25 format: date
26
2827- `filter: optional array of string`
2928
3029 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.
3130
31 maxItems: 100
32
3233- `group_by: optional array of "rbac_group_id"`
3334
3435 Dimensions to break results out by (e.g. group_by[]=rbac_group_id). Supported on this endpoint: rbac_group_id. Rows are already per-member, so the one supported grouping aggregates them per RBAC group instead. 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.
3536
36 - `"rbac_group_id"`
37 maxItems: 100
3738
3839- `limit: optional number`
3940
4041 Number of results per page (1-1000, default 100).
4142
43 minimum: 1, maximum: 1000
44
4245- `order: optional "asc" or "desc"`
4346
4447 Sort direction: 'asc' or 'desc'. Defaults to 'asc' for the endpoint's sort column and to 'desc' when order_by names a metric (a top-N ranking). Applies to order_by, or to the endpoint's default sort field when order_by is omitted.
from line 62
5962
6063 UTC date in YYYY-MM-DD format. Start of a date range (inclusive). Enables rollup mode: one row per entity aggregated over the whole range — addable counters are summed across days, and a distinct count is never summed where summing could double-count (a field's range value is recomputed exactly over the window, approximate via HLL with typical error under 2%, null, or — for the creation-event counts, whose per-day values cannot overlap — a per-day sum that is itself exact; each field's own description says which). Use either date or starting_date, not both. Data is typically available with a 1-day lag (varies by query; the error for a too-recent date names the latest available day) and may be revised by a few percent over the following days. No earlier than 2026-01-01.
6164
62### Returns
65 format: date
6366
64- `UserActivity object { data, next_page }`
67## Returns
6568
69- `UserActivity object`
70
6671 Response for GET /v1/organizations/analytics/users.
6772
68 - `data: array of object { chat_metrics, claude_code_metrics, cowork_metrics, 9 more }`
73 - `data: array of object`
6974
70 - `chat_metrics: object { connectors_used_count, distinct_artifacts_created_count, distinct_connectors_used_count, 9 more }`
75 - `chat_metrics: object`
7176
7277 Claude.ai activity metrics for a single user on a given day.
7378
from line 124
119124
120125 Number of messages that used extended thinking
121126
122 - `claude_code_metrics: object { core_metrics, tool_actions }`
127 - `claude_code_metrics: object`
123128
124129 Claude Code activity metrics for a single user on a given day.
125130
126 - `core_metrics: object { commit_count, distinct_session_count, lines_of_code, pull_request_count }`
131 - `core_metrics: object`
127132
128133 Core Claude Code activity metrics for a single user on a given day.
129134
from line 140
135140
136141 Number of distinct Claude Code sessions. On aggregated rows and in date-range mode: summed per-day distinct counts. A session essentially never spans a UTC day, so the sum is in practice the true distinct count.
137142
138 - `lines_of_code: object { added_count, removed_count }`
143 - `lines_of_code: object`
139144
140145 Lines of code added and removed via Claude Code.
141146
from line 156
151156
152157 Number of pull requests created via Claude Code
153158
154 - `tool_actions: object { edit_tool, multi_edit_tool, notebook_edit_tool, write_tool }`
159 - `tool_actions: object`
155160
156161 Per-tool accepted/rejected counts for Claude Code file modification tools.
157162
from line 184
179184
180185 Accepted/rejected counts for a single Claude Code tool type.
181186
182 - `cowork_metrics: object { action_count, connectors_used_count, dispatch_turn_count, 13 more }`
187 - `cowork_metrics: object`
183188
184189 Cowork activity metrics for a single user on a given day.
185190
from line 252
247252
248253 Number of successful Write tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
249254
250 - `design_metrics: object { distinct_projects_created_count, distinct_projects_used_count, distinct_session_count, message_count }`
255 - `design_metrics: object`
251256
252257 Claude Design activity metrics for a single user on a given day.
253258
from line 272
267272
268273 Number of messages sent in Claude Design sessions
269274
270 - `office_metrics: object { excel, outlook, powerpoint, word }`
275 - `office_metrics: object`
271276
272277 Office Agent activity metrics for a single user on a given day, broken out by Office product.
273278
from line 316
311316
312317 Office Agent activity metrics for a single user on a given day within one Office product.
313318
314 - `science_metrics: object { delegation_count, distinct_session_count, message_count, 2 more }`
319 - `science_metrics: object`
315320
316321 Claude Science activity metrics for a single user on a given day.
317322
from line 376
371376
372377 Object type. Always `user`.
373378
374 - `"user"`
379 default: user
375380
376381 - `next_page: string or null`
377382
378383 Opaque cursor for the next page, or null if no more results
379384
380### Example
385## Example
381386
382```http
387```bash
383388curl https://api.anthropic.com/v1/organizations/analytics/users \
384389 -H 'anthropic-version: 2023-06-01' \
385390 -H "X-Api-Key: $ANTHROPIC_ADMIN_API_KEY"
386391```
387392
388#### Response
393### Response (200)
389394
390395```json
391396{
No line in this hunk matches that.