---
title: "Get Activity Summaries"
method: GET
path: "/v1/organizations/analytics/summaries"
---

# Get Activity Summaries

`GET /v1/organizations/analytics/summaries`

## Request

- Base URL: `https://api.anthropic.com`
- URL: `https://api.anthropic.com/v1/organizations/analytics/summaries`
- Auth: none declared

Get organization-wide activity summaries for a date range.

Returns one entry per day from `starting_date` (inclusive) to `ending_date`
(exclusive) in `data`, the same `data` / `next_page` envelope as the other
analytics list endpoints; the series is currently returned in full, so
`next_page` is always null.
Data is typically available with a 1-day lag and may be revised by a few
percent over the following days: when `ending_date` is omitted it
defaults to the most recent available day + 1, so the last entry covers
the most recent available day. The series can be scoped to an RBAC group
via `filter[]=rbac_group_id:{id}`. Available to organizations on a Claude
Enterprise plan. Requires an API key with the `read:analytics` scope.

## Query parameters

- `starting_date` string, date, required: UTC date in YYYY-MM-DD format. Start of the date range (inclusive). 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.
- `ending_date` string, date, nullable: UTC date in YYYY-MM-DD format. End of the date range (exclusive). Data is typically available with a 1-day lag, so this can be at most today — which is also the default when omitted, making the last entry cover the most recent available day. Data may be revised by a few percent over the following days. The range may span at most 366 days.
- `limit` integer, nullable: Number of results per page (1-1000, default 100). The day series (at most 366 entries) is currently returned in full in a single page, so `limit` does not yet shorten it.
- `page` string, nullable: Opaque cursor from a previous response's `next_page` field. `next_page` is currently always null, so there is never a cursor to send.
- `filter[]` string[], nullable: Filters as `dimension:value`. Only `rbac_group_id` is supported (e.g. `filter[]=rbac_group_id:{id}`); repeat the param to OR across groups. Scopes the whole day series to members of the matching group(s), re-aggregated from member-level activity — org-wide seat/invite fields and the adoption rates derived from them are null on scoped rows. `rbac_group_id` accepts 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 UTC day (time-of-usage attribution). At most 100 entries.

## Headers

- `anthropic-version` string: The version of the Claude API you want to use. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).

## Response `200`

Successful Response

- AnalyticsActivitySummaryResponse: Response for GET /v1/organizations/analytics/summaries.
  - `data` AnalyticsSingleDayActivitySummary[], required: One entry per day in the requested range, ascending by date.
    - `assigned_seat_count` integer, nullable, required: Number of seats currently assigned to members. Null when the response is scoped to an RBAC group — seat assignment is org-wide and has no per-group analogue.
    - `chat_cowork_unified_daily_active_user_count` integer, nullable: Number of users with activity in Chat and Cowork unified on the requested day. Omitted from the response where Chat and Cowork unified is not available.
    - `chat_cowork_unified_monthly_active_user_count` integer, nullable: 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 where Chat and Cowork unified is not available.
    - `chat_cowork_unified_weekly_active_user_count` integer, nullable: Number of users with activity in Chat and Cowork unified in the 7-day rolling window. Omitted from the response where Chat and Cowork unified is not available.
    - `chat_daily_active_user_count` integer, nullable: 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.
    - `chat_monthly_active_user_count` integer, nullable: Number of users with claude.ai (chat) activity in the 30-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `chat_weekly_active_user_count` integer, nullable: Number of users with claude.ai (chat) activity in the 7-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_code_daily_active_user_count` integer, nullable: Number of users with Claude Code activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_code_monthly_active_user_count` integer, nullable: Number of users with Claude Code activity in the 30-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_code_weekly_active_user_count` integer, nullable: Number of users with Claude Code activity in the 7-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_design_daily_active_user_count` integer, nullable: Number of users with Claude Design activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_design_monthly_active_user_count` integer, nullable: Number of users with Claude Design activity in the 30-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `claude_design_weekly_active_user_count` integer, nullable: Number of users with Claude Design activity in the 7-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `cowork_daily_active_user_count` integer, required: Number of users with Cowork activity on the requested day
    - `cowork_monthly_active_user_count` integer, required: Number of users with Cowork activity in the 30-day rolling window
    - `cowork_weekly_active_user_count` integer, required: Number of users with Cowork activity in the 7-day rolling window
    - `daily_active_user_count` integer, required: Number of users with token consumption on the requested day
    - `daily_adoption_rate` number, nullable, required: Percentage of assigned seats with activity on the requested day (`DAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
    - `ending_at` string, date-time, required: End of the aggregation period (exclusive), UTC midnight in RFC 3339 format (e.g. `2026-01-16T00:00:00Z`).
    - `monthly_active_user_count` integer, required: Number of users with token consumption in the 30-day rolling window
    - `monthly_adoption_rate` number, nullable, required: Percentage of assigned seats with activity in the 30-day rolling window (`MAU / assigned_seat_count * 100`). Null when the response is scoped to an RBAC group.
    - `office_agent_daily_active_user_count` integer, nullable: Number of users with Claude in Office activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `office_agent_monthly_active_user_count` integer, nullable: Number of users with Claude in Office activity in the 30-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `office_agent_weekly_active_user_count` integer, nullable: Number of users with Claude in Office activity in the 7-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `pending_invite_count` integer, nullable, required: Number of pending invitations to join the organization. Null when the response is scoped to an RBAC group.
    - `science_daily_active_user_count` integer, nullable: Number of users with Claude Science activity on the requested day. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `science_entitled_user_count` integer, nullable: Number of users with a Claude Science seat entitlement (per-seat RBAC) at the time of the daily snapshot. The funnel top; independent of the org-level Claude Science toggle. Null when the response is scoped to an RBAC group — entitlement is org-wide and has no per-group analogue. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `science_monthly_active_user_count` integer, nullable: Number of users with Claude Science activity in the 30-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `science_weekly_active_user_count` integer, nullable: Number of users with Claude Science activity in the 7-day rolling window. Omitted from the response while the per-product breakdown is not enabled for this organization.
    - `starting_at` string, date-time, required: Start of the aggregation period (inclusive), UTC midnight in RFC 3339 format (e.g. `2026-01-15T00:00:00Z`).
    - `weekly_active_user_count` integer, required: Number of users with token consumption in the 7-day rolling window
    - `weekly_adoption_rate` number, nullable, required: 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.
  - `next_page` string, nullable, required: Opaque cursor for the next page, or null if no more results. Currently always null: the day series is returned in full.

## Other responses

- `400`: Invalid argument - The client specified an invalid argument
- `401`: Unauthenticated - The request does not have valid authentication credentials
- `403`: Permission denied - The caller does not have permission to execute the specified operation
- `404`: Not found - Some requested entity was not found
- `408`: Deadline exceeded - The deadline expired before the operation could complete
- `409`: Aborted - The operation was aborted due to concurrency issue
- `412`: Failed precondition - Operation was rejected because the system is not in required state
- `413`: Out of range - Operation was attempted past the valid range
- `429`: Resource exhausted - Some resource has been exhausted (rate limiting)
- `431`: Request header fields too large - Request metadata was too large
- `499`: Cancelled - The operation was cancelled by the client
- `500`: Internal - Internal server error
- `501`: Unimplemented - The operation is not implemented or supported
- `503`: Unavailable - The service is currently unavailable
- `504`: Deadline exceeded - Upstream service did not respond in time
- `529`: Overloaded - The service is temporarily overloaded

## Changes

- **2026-10-30** `9e51fecd6e7f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/anthropics/apis/anthropic-api/changes/v1/organizations/analytics/summaries/get.md)

---

[API](https://skmtc.dev/anthropics/apis/anthropic-api.md) - [All operations](https://skmtc.dev/anthropics/apis/anthropic-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anthropics/apis/anthropic-api/revisions/328591af84ad?raw)
