Claude Platform Docs

Obtener uso de proyectos de chat

$ ant beta:organization:analytics:apps:chat:projects list
GET/v1/organizations/analytics/apps/chat/projects

Obtiene la actividad por proyecto para un día determinado, con paginación basada en cursor.

Devuelve métricas de actividad para cada proyecto de la organización, ordenadas por ID de proyecto. Usa group_by[] para desglosar los proyectos por miembro o por grupo RBAC, y filter[] para limitar los resultados; las descripciones de los parámetros enumeran las dimensiones admitidas. Disponible para organizaciones con un plan Claude Enterprise. Requiere una clave de API con el alcance read:analytics.

Parameters
--date: optional string⁠Query parameter

UTC date in YYYY-MM-DD format. The day to get project 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.

formatdate
--ending-date: optional string⁠Query parameter

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.

formatdate
--filter: optional array of string⁠Query parameter

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.

maxItems100
--group-by: optional array of "rbac_group_id" or "user_id"⁠Query parameter

Dimensions to break results out by (e.g. group_by[]=user_id). Supported on this endpoint: rbac_group_id, user_id. 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.

maxItems100
--limit: optional number⁠Query parameter

Number of results per page (1-1000, default 100).

minimum1
maximum1000
--order: optional "asc" or "desc"⁠Query parameter

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.

--order-by: optional string⁠Query parameter

Sort 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 string⁠Query parameter

Opaque cursor from a previous response's next_page field.

--starting-date: optional string⁠Query parameter

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.

formatdate
Returns
BetaAnalyticsProjectsResponse: object{ data, next_page }

Response for GET /v1/organizations/analytics/apps/chat/projects.

data: array of BetaAnalyticsProjectActivity { distinct_user_count, message_count, project_id, 8 more }
distinct_user_count: number

Number of distinct users who used the project on the requested day, or, in date-range mode, over the requested window — recomputed as an exact distinct count over the window's per-member daily rows, never a sum of per-day values.

message_count: number

Number of messages sent in the project on the requested day

project_id: string

Tagged project identifier (e.g. claude_proj_...)

project_name: string

Name of the project

created_at: optional string

Project creation timestamp in RFC 3339 format. Null if the project was deleted before attribution was recorded.

formatdate-time
created_by: optional object{ type: "user", id, email_address }

User who created the project. Null if the project was deleted before attribution was recorded, or if the creator's account no longer exists.

type: "user"

Object type. Always user.

id: string

Tagged user identifier (e.g. user_...)

email_address: string

Email address of the user

distinct_conversation_count: optional number

Number of distinct conversations in the project. Null on aggregated rows where a distinct count cannot be computed.

product: optional string

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.

rbac_group_id: optional string

Tagged RBAC group identifier (rbac_group_...), matching the spend-limits API spelling. Present only when the request grouped by rbac_group_id.

rbac_group_name: optional string

Resolved RBAC group display name, alongside rbac_group_id when name resolution is available. Null if the group has been deleted or its name could not be resolved; rbac_group_id remains the stable key.

user_id: optional string

Tagged user identifier (e.g. user_...). Present only when the request grouped by user_id.

next_page: string

Opaque cursor for the next page, or null if no more results

Obtener uso de proyectos de chat
ant beta:organization:analytics:apps:chat:projects list \
  --api-key my-anthropic-api-key
Returns Examples
Response 200
{
  "data": [
    {
      "distinct_user_count": 0,
      "message_count": 0,
      "project_id": "project_id",
      "project_name": "project_name",
      "created_at": "2019-12-27T18:11:19.117Z",
      "created_by": {
        "id": "id",
        "email_address": "email_address",
        "type": "user"
      },
      "distinct_conversation_count": 0,
      "product": "product",
      "rbac_group_id": "rbac_group_id",
      "rbac_group_name": "rbac_group_name",
      "user_id": "user_id"
    }
  ],
  "next_page": "next_page"
}