Users
List User Activity
GET /v1/organizations/analytics/users
Get per-user activity for a given day, with cursor-based pagination.
Returns activity metrics for each user in the organization, sorted by email address. Use group_by[] for per-RBAC-group aggregates, or filter[] to scope results to specific members, groups, or a chat project. Available to organizations on a Claude Enterprise plan. Requires an API key with the read:analytics scope.
Query parameters
date: optional stringUTC 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.
format: date
ending_date: optional stringUTC 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 afterstarting_date.format: date
filter: optional array of stringFilters 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_idtakes 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 withgroup_by[]or anrbac_group_idfilter);rbac_group_idtakes 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_idtakes a tagged user id (user_...), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.maxItems: 100
group_by: optional array of "rbac_group_id"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 vianext_page; an unsupported dimension returns 400.rbac_group_idattributes 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.maxItems: 100
limit: optional numberNumber of results per page (1-1000, default 100).
minimum: 1, maximum: 1000
order: optional "asc" or "desc"Sort direction:
ascordesc. Defaults toascfor the endpoint's sort column and todescwhenorder_bynames a metric (a top-N ranking). Applies toorder_by, or to the endpoint's default sort field whenorder_byis omitted."asc""desc"
order_by: optional stringSort field. Restricted to the endpoint's sort column plus its rankable metrics (metrics default to descending; a few metrics rank in date-range mode only, per the endpoint's documented orderable set).
page: optional stringOpaque cursor from a previous response's
next_pagefield.starting_date: optional stringUTC 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
dateorstarting_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.format: date
Returns
BetaUserActivity objectResponse for GET /v1/organizations/analytics/users.
data: array of objectchat_metrics: objectClaude.ai activity metrics for a single user on a given day.
connectors_used_count: numberNumber of MCP connector invocations.
distinct_artifacts_created_count: numberNumber of distinct artifacts created. 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.
distinct_connectors_used_count: number or nullDistinct claude.ai connectors this user used. Excludes calls whose connector could not be identified and all calls from organizations with zero data retention. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_conversation_count: number or nullNumber of distinct conversations the user participated in. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_files_uploaded_count: number or nullNumber of distinct files uploaded. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_projects_created_count: numberNumber of distinct projects created. 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.
distinct_projects_used_count: number or nullNumber of distinct projects used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_shared_artifacts_viewed_count: number or nullNumber of distinct shared artifacts the user viewed. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent
shared_conversations_viewed_count: numberNumber of times the user opened a shared conversation in a project
thinking_message_count: numberNumber of messages that used extended thinking
claude_code_metrics: objectClaude Code activity metrics for a single user on a given day.
core_metrics: objectCore Claude Code activity metrics for a single user on a given day.
artifacts_created_count: numberNumber of artifacts created in Claude Code sessions: an artifact counts once, on the day a session first saves it. Counted from 2026-08-17; 0 on earlier days. 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.
commit_count: numberNumber of commits made via Claude Code
distinct_session_count: number or nullNumber 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.
lines_of_code: objectLines of code added and removed via Claude Code.
added_count: numberLines of code added
removed_count: numberLines of code removed
pull_request_count: numberNumber of pull requests created via Claude Code
tool_actions: objectPer-tool accepted/rejected counts for Claude Code file modification tools.
edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
accepted_count: numberNumber of tool proposals accepted
rejected_count: numberNumber of tool proposals rejected
multi_edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
notebook_edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
write_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
cowork_metrics: objectCowork activity metrics for a single user on a given day.
action_count: numberNumber of tool actions completed in Cowork sessions
artifacts_created_count: numberNumber of artifacts created in Cowork sessions: an artifact counts once, on the day a session first saves it. Counted from 2026-08-17; 0 on earlier days. 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.
connectors_used_count: numberTotal number of connector invocations in Cowork sessions
dispatch_turn_count: numberNumber of Dispatch (background agent) turns completed
distinct_connectors_used_count: number or nullNumber of distinct connectors used in Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used in Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Cowork sessions
skills_used_count: numberTotal number of skill invocations in Cowork sessions
distinct_plugins_used_count: optional number or nullNumber of distinct plugins used in Cowork sessions. Null while Cowork plugin-use metrics are not enabled for this organization. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
edit_tool_count: optional number or nullNumber of successful Edit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
file_edit_count: optional number or nullNumber of successful file-edit tool calls (Edit, MultiEdit, Write, NotebookEdit) in Cowork sessions. Null, never 0, while the file-edit metrics are not enabled for this organization.
multi_edit_tool_count: optional number or nullNumber of successful MultiEdit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
notebook_edit_tool_count: optional number or nullNumber of successful NotebookEdit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
plugins_used_count: optional number or nullTotal number of plugin invocations in Cowork sessions. Null while Cowork plugin-use metrics are not enabled for this organization.
sessions_with_file_edits_count: optional number or nullNumber of distinct Cowork sessions with at least one successful file-edit tool call. Null while the file-edit metrics are not enabled for this organization. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
write_tool_count: optional number or nullNumber of successful Write tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
design_metrics: objectClaude Design activity metrics for a single user on a given day.
distinct_projects_created_count: numberNumber of distinct Claude Design projects created. 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.
distinct_projects_used_count: number or nullNumber of distinct Claude Design projects the user worked in. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Claude Design sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Claude Design sessions
office_metrics: objectOffice Agent activity metrics for a single user on a given day, broken out by Office product.
excel: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
connectors_used_count: numberNumber of MCP connector invocations
distinct_connectors_used_count: number or nullNumber of distinct MCP connectors used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Office Agent sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent
skills_used_count: numberNumber of skill invocations
outlook: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
powerpoint: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
word: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
science_metrics: objectClaude Science activity metrics for a single user on a given day.
delegation_count: numberNumber of delegations (handoffs to a specialized agent) in Claude Science sessions
distinct_session_count: number or nullNumber of distinct Claude Science sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Claude Science sessions
remote_compute_job_count: numberNumber of remote compute jobs launched from Claude Science sessions
skills_used_count: numberTotal number of skill invocations in Claude Science sessions
web_search_count: numberNumber of web searches performed
distinct_user_count: optional number or nullNumber 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.last_activity_date: optional string or nullMost recent UTC day (YYYY-MM-DD) on which the user had any counted activity, within the requested window: equal to the requested
datein single-day mode, and to the latest active day fromstarting_date(inclusive) toending_date(exclusive) in date-range rollup mode — never a day earlier than the window start. On filtered requests (filter[]) only days matching the filter count: withfilter[]=rbac_group_id:\{id\}it is the last day the user was active while a member of that group, consistent with the row's other metrics. On grouped (group_by[]) rows it is the latest day any member of the group was active (the requesteddatein single-day mode). Omitted from the response while last-activity reporting is not enabled for this organization.format: date
rbac_group_id: optional string or nullTagged RBAC group identifier (
rbac_group_...), matching the spend-limits API spelling. Present only when the request grouped byrbac_group_id.rbac_group_name: optional string or nullResolved RBAC group display name, alongside
rbac_group_idwhen name resolution is available. Null if the group has been deleted or its name could not be resolved;rbac_group_idremains the stable key.user: optional BetaAnalyticsUser or nullA user in the organization, identified by tagged id and email address.
type: "user"Object type. Always
user.default: user
id: stringTagged user identifier (e.g.
user_...)email_address: stringEmail address of the user
next_page: string or nullOpaque cursor for the next page, or null if no more results
Example
curl https://api.anthropic.com/v1/organizations/analytics/users \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"chat_metrics": {
"connectors_used_count": 0,
"distinct_artifacts_created_count": 0,
"distinct_connectors_used_count": 0,
"distinct_conversation_count": 0,
"distinct_files_uploaded_count": 0,
"distinct_projects_created_count": 0,
"distinct_projects_used_count": 0,
"distinct_shared_artifacts_viewed_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"shared_conversations_viewed_count": 0,
"thinking_message_count": 0
},
"claude_code_metrics": {
"core_metrics": {
"artifacts_created_count": 0,
"commit_count": 0,
"distinct_session_count": 0,
"lines_of_code": {
"added_count": 0,
"removed_count": 0
},
"pull_request_count": 0
},
"tool_actions": {
"edit_tool": {
"accepted_count": 0,
"rejected_count": 0
},
"multi_edit_tool": {
"accepted_count": 0,
"rejected_count": 0
},
"notebook_edit_tool": {
"accepted_count": 0,
"rejected_count": 0
},
"write_tool": {
"accepted_count": 0,
"rejected_count": 0
}
}
},
"cowork_metrics": {
"action_count": 0,
"artifacts_created_count": 0,
"connectors_used_count": 0,
"dispatch_turn_count": 0,
"distinct_connectors_used_count": 0,
"distinct_session_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"skills_used_count": 0,
"distinct_plugins_used_count": 0,
"edit_tool_count": 0,
"file_edit_count": 0,
"multi_edit_tool_count": 0,
"notebook_edit_tool_count": 0,
"plugins_used_count": 0,
"sessions_with_file_edits_count": 0,
"write_tool_count": 0
},
"design_metrics": {
"distinct_projects_created_count": 0,
"distinct_projects_used_count": 0,
"distinct_session_count": 0,
"message_count": 0
},
"office_metrics": {
"excel": {
"connectors_used_count": 0,
"distinct_connectors_used_count": 0,
"distinct_session_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"skills_used_count": 0
},
"outlook": {
"connectors_used_count": 0,
"distinct_connectors_used_count": 0,
"distinct_session_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"skills_used_count": 0
},
"powerpoint": {
"connectors_used_count": 0,
"distinct_connectors_used_count": 0,
"distinct_session_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"skills_used_count": 0
},
"word": {
"connectors_used_count": 0,
"distinct_connectors_used_count": 0,
"distinct_session_count": 0,
"distinct_skills_used_count": 0,
"message_count": 0,
"skills_used_count": 0
}
},
"science_metrics": {
"delegation_count": 0,
"distinct_session_count": 0,
"message_count": 0,
"remote_compute_job_count": 0,
"skills_used_count": 0
},
"web_search_count": 0,
"distinct_user_count": 0,
"last_activity_date": "2019-12-27",
"rbac_group_id": "rbac_group_id",
"rbac_group_name": "rbac_group_name",
"user": {
"id": "id",
"email_address": "email_address",
"type": "user"
}
}
],
"next_page": "next_page"
}Domain types
Beta User Activity
BetaUserActivity objectResponse for GET /v1/organizations/analytics/users.
data: array of objectchat_metrics: objectClaude.ai activity metrics for a single user on a given day.
connectors_used_count: numberNumber of MCP connector invocations.
distinct_artifacts_created_count: numberNumber of distinct artifacts created. 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.
distinct_connectors_used_count: number or nullDistinct claude.ai connectors this user used. Excludes calls whose connector could not be identified and all calls from organizations with zero data retention. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_conversation_count: number or nullNumber of distinct conversations the user participated in. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_files_uploaded_count: number or nullNumber of distinct files uploaded. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_projects_created_count: numberNumber of distinct projects created. 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.
distinct_projects_used_count: number or nullNumber of distinct projects used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_shared_artifacts_viewed_count: number or nullNumber of distinct shared artifacts the user viewed. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent
shared_conversations_viewed_count: numberNumber of times the user opened a shared conversation in a project
thinking_message_count: numberNumber of messages that used extended thinking
claude_code_metrics: objectClaude Code activity metrics for a single user on a given day.
core_metrics: objectCore Claude Code activity metrics for a single user on a given day.
artifacts_created_count: numberNumber of artifacts created in Claude Code sessions: an artifact counts once, on the day a session first saves it. Counted from 2026-08-17; 0 on earlier days. 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.
commit_count: numberNumber of commits made via Claude Code
distinct_session_count: number or nullNumber 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.
lines_of_code: objectLines of code added and removed via Claude Code.
added_count: numberLines of code added
removed_count: numberLines of code removed
pull_request_count: numberNumber of pull requests created via Claude Code
tool_actions: objectPer-tool accepted/rejected counts for Claude Code file modification tools.
edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
accepted_count: numberNumber of tool proposals accepted
rejected_count: numberNumber of tool proposals rejected
multi_edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
notebook_edit_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
write_tool: BetaToolActionCountsAccepted/rejected counts for a single Claude Code tool type.
cowork_metrics: objectCowork activity metrics for a single user on a given day.
action_count: numberNumber of tool actions completed in Cowork sessions
artifacts_created_count: numberNumber of artifacts created in Cowork sessions: an artifact counts once, on the day a session first saves it. Counted from 2026-08-17; 0 on earlier days. 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.
connectors_used_count: numberTotal number of connector invocations in Cowork sessions
dispatch_turn_count: numberNumber of Dispatch (background agent) turns completed
distinct_connectors_used_count: number or nullNumber of distinct connectors used in Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used in Cowork sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Cowork sessions
skills_used_count: numberTotal number of skill invocations in Cowork sessions
distinct_plugins_used_count: optional number or nullNumber of distinct plugins used in Cowork sessions. Null while Cowork plugin-use metrics are not enabled for this organization. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
edit_tool_count: optional number or nullNumber of successful Edit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
file_edit_count: optional number or nullNumber of successful file-edit tool calls (Edit, MultiEdit, Write, NotebookEdit) in Cowork sessions. Null, never 0, while the file-edit metrics are not enabled for this organization.
multi_edit_tool_count: optional number or nullNumber of successful MultiEdit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
notebook_edit_tool_count: optional number or nullNumber of successful NotebookEdit tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
plugins_used_count: optional number or nullTotal number of plugin invocations in Cowork sessions. Null while Cowork plugin-use metrics are not enabled for this organization.
sessions_with_file_edits_count: optional number or nullNumber of distinct Cowork sessions with at least one successful file-edit tool call. Null while the file-edit metrics are not enabled for this organization. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
write_tool_count: optional number or nullNumber of successful Write tool calls in Cowork sessions. Null while the file-edit metrics are not enabled for this organization.
design_metrics: objectClaude Design activity metrics for a single user on a given day.
distinct_projects_created_count: numberNumber of distinct Claude Design projects created. 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.
distinct_projects_used_count: number or nullNumber of distinct Claude Design projects the user worked in. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Claude Design sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Claude Design sessions
office_metrics: objectOffice Agent activity metrics for a single user on a given day, broken out by Office product.
excel: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
connectors_used_count: numberNumber of MCP connector invocations
distinct_connectors_used_count: number or nullNumber of distinct MCP connectors used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_session_count: number or nullNumber of distinct Office Agent sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
distinct_skills_used_count: number or nullNumber of distinct skills used. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent
skills_used_count: numberNumber of skill invocations
outlook: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
powerpoint: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
word: BetaOfficeProductMetricsOffice Agent activity metrics for a single user on a given day within one Office product.
science_metrics: objectClaude Science activity metrics for a single user on a given day.
delegation_count: numberNumber of delegations (handoffs to a specialized agent) in Claude Science sessions
distinct_session_count: number or nullNumber of distinct Claude Science sessions. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
message_count: numberNumber of messages sent in Claude Science sessions
remote_compute_job_count: numberNumber of remote compute jobs launched from Claude Science sessions
skills_used_count: numberTotal number of skill invocations in Claude Science sessions
web_search_count: numberNumber of web searches performed
distinct_user_count: optional number or nullNumber 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.last_activity_date: optional string or nullMost recent UTC day (YYYY-MM-DD) on which the user had any counted activity, within the requested window: equal to the requested
datein single-day mode, and to the latest active day fromstarting_date(inclusive) toending_date(exclusive) in date-range rollup mode — never a day earlier than the window start. On filtered requests (filter[]) only days matching the filter count: withfilter[]=rbac_group_id:\{id\}it is the last day the user was active while a member of that group, consistent with the row's other metrics. On grouped (group_by[]) rows it is the latest day any member of the group was active (the requesteddatein single-day mode). Omitted from the response while last-activity reporting is not enabled for this organization.format: date
rbac_group_id: optional string or nullTagged RBAC group identifier (
rbac_group_...), matching the spend-limits API spelling. Present only when the request grouped byrbac_group_id.rbac_group_name: optional string or nullResolved RBAC group display name, alongside
rbac_group_idwhen name resolution is available. Null if the group has been deleted or its name could not be resolved;rbac_group_idremains the stable key.user: optional BetaAnalyticsUser or nullA user in the organization, identified by tagged id and email address.
type: "user"Object type. Always
user.default: user
id: stringTagged user identifier (e.g.
user_...)email_address: stringEmail address of the user
next_page: string or nullOpaque cursor for the next page, or null if no more results