Claude Platform Docs

Ottieni utilizzo dei progetti di chat

$client->beta->organization->analytics->apps->chat->projects->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsProjectGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsProjectActivity>
GET/v1/organizations/analytics/apps/chat/projects

Ottieni l'attività per progetto per un determinato giorno, con paginazione basata su cursore.

Restituisce le metriche di attività per ogni progetto dell'organizzazione, ordinate per ID del progetto. Usa group_by[] per suddividere i progetti per membro o per gruppo RBAC, e filter[] per limitare i risultati; le descrizioni dei parametri elencano le dimensioni supportate. Disponibile per le organizzazioni con un piano Claude Enterprise. Richiede una chiave API con lo scope read:analytics.

Parameters
date?: optional \Datetime⁠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.

endingDate?: optional \Datetime⁠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.

filter?: optional list<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.

groupBy?: optional list<AnalyticsProjectGroupBy>⁠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.

limit?: optional int⁠Query parameter

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

order?: optional AnalyticsOrder⁠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.

orderBy?: 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.

startingDate?: optional \Datetime⁠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.

Returns
class AnalyticsProjectActivity { $createdAt; $createdBy; $distinctConversationCount; /* 7 more */ }
?\Datetime createdAt

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

?AnalyticsUser createdBy

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

?int distinctConversationCount

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

int distinctUserCount

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.

int messageCount

Number of messages sent in the project on the requested day

string projectID

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

string projectName

Name of the project

?string rbacGroupID

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

?string rbacGroupName

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.

?string userID

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

Ottieni utilizzo dei progetti di chat
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\Organization\Analytics\AnalyticsProjectGroupBy;
use Anthropic\Beta\Organization\Analytics\AnalyticsOrder;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->beta->organization->analytics->apps->chat->projects->list(
  date: '2019-12-27',
  endingDate: '2019-12-27',
  filter: ['string'],
  groupBy: [AnalyticsProjectGroupBy::RBAC_GROUP_ID],
  limit: 1,
  order: AnalyticsOrder::ASC,
  orderBy: 'order_by',
  page: 'page',
  startingDate: '2019-12-27',
);

var_dump($page);
Returns Examples
Response 200
{
  "data": [
    {
      "created_at": "2019-12-27T18:11:19.117Z",
      "created_by": {
        "id": "id",
        "email_address": "email_address",
        "type": "user"
      },
      "distinct_conversation_count": 0,
      "distinct_user_count": 0,
      "message_count": 0,
      "project_id": "project_id",
      "project_name": "project_name",
      "rbac_group_id": "rbac_group_id",
      "rbac_group_name": "rbac_group_name",
      "user_id": "user_id"
    }
  ],
  "next_page": "next_page"
}