Claude Platform Docs

Get Artifact Activity

GET/v1/organizations/analytics/artifacts

Get artifact-creation activity for a given day, broken out by MIME type.

Returns the full (artifact_type, is_shared) cube for the organization; next_page is null except for grouped queries, which paginate. The cube can be broken out per product, per member, or per RBAC group via group_by[], and scoped via filter[]. Requires an API key with the read:analytics scope.

Query parameters
date: string

UTC date in YYYY-MM-DD format. The day to get artifact 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
filter: optional array of string

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: artifact_type, is_shared, product, rbac_group_id, user_id. Value forms: artifact_type is a canonical artifact MIME type (e.g. text/markdown) or other; is_shared is true or false; product is chat_cowork_unified, chat, claude_code, or cowork (the surfaces that create artifacts); 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. chat_cowork_unified is accepted as a product value only on deployments that offer Chat and Cowork unified.

maxItems100
group_by: optional array of "product" or "rbac_group_id" or "user_id"

Dimensions to break results out by: product, user_id and/or rbac_group_id. The ungrouped artifact-type cube is finite and returned in full; grouped queries multiply the cube and paginate via next_page. product takes the values chat_cowork_unified, chat, claude_code, or cowork (the surfaces that create artifacts). rbac_group_id attributes a user to every group they held at any point during the requested UTC day, so grouped rows are not an exclusive partition. At most 100 entries.

maxItems100
One of the following:
"product"
"rbac_group_id"
"user_id"
limit: optional number

Maximum rows to return (1-1000, default 100). The ungrouped artifact-type cube is finite and returned in full; limit is the page size only when group_by[] multiplies the cube.

minimum1
maximum1000
page: optional string

Opaque cursor from a previous response's next_page field. Only valid with group_by[] — the ungrouped cube is never paginated.

Headers
"anthropic-version": optional string

The version of the Claude API you want to use.

Read more about versioning and our version history here.

Returns
data: array of BetaAnalyticsArtifactActivity { artifact_type, artifacts_created_count, distinct_user_count, 6 more }
artifact_type: string

Canonical artifact MIME type (e.g. text/markdown, application/vnd.ant.react, image/svg+xml), or other. Claude Code and Cowork artifacts report as text/html.

artifacts_created_count: number

Number of artifacts created in this bucket on the requested day

distinct_user_count: number

Number of distinct users who created artifacts in this bucket on the requested day

is_shared: boolean

Whether the artifacts in this bucket have ever been shared (a Claude Code / Cowork artifact is shared once anyone beyond its creator may open it: named members, the whole organization, or anyone with the link).

published_artifacts_created_count: number

Number of those artifacts that have been published (for Claude Code / Cowork artifacts: open to anyone with the link); never exceeds artifacts_created_count

product: optional string or null

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 or null

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 or null

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 or null

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

next_page: string or null

Cursor for the next page of a grouped query; always null for the ungrouped artifact-type cube, which is returned in full.

Get Artifact Activity
curl https://api.anthropic.com/v1/organizations/analytics/artifacts \
    -H 'anthropic-version: 2023-06-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"
Returns Examples
Response 200
{
  "data": [
    {
      "artifact_type": "artifact_type",
      "artifacts_created_count": 0,
      "distinct_user_count": 0,
      "is_shared": true,
      "published_artifacts_created_count": 0,
      "product": "product",
      "rbac_group_id": "rbac_group_id",
      "rbac_group_name": "rbac_group_name",
      "user_id": "user_id"
    }
  ],
  "next_page": "next_page"
}