Get Skill Usage changedapi/admin/analytics/skills/list
Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+29added
Lines−24removed
From line
1
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits6to this page, all time
# Get Skill Usage ## Query parameters ## Returns ## Example ### Response (200) ## Get Skill Usage ### Query Parameters ### Returns ### Example #### Response
The whole hunk
from line 1, old and new numbered
/
from line 1
1---
2title: Get Skill Usage
3url: https://platform.claude.com/docs/en/api/admin/analytics/skills/list
4---
1# Get Skill Usage
52
6## Get Skill Usage
3**GET** `/v1/organizations/analytics/skills`
74
8**get** `/v1/organizations/analytics/skills`
9
105Get per-skill usage for a given day, with cursor-based pagination.
116
127Returns skill usage metrics for the organization, sorted by skill name.
from line 11
1611on a Claude Enterprise plan. Requires an API key with the
1712`read:analytics` scope.
1813
19### Query Parameters
14## Query parameters
2015
2116- `date: optional string`
2217
2318 UTC date in YYYY-MM-DD format. The day to get skill usage 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.
2419
20 format: date
21
2522- `ending_date: optional string`
2623
2724 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.
2825
26 format: date
27
2928- `filter: optional array of string`
3029
3130 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: product, rbac_group_id, share_status, skill_name, user_id. Value forms: product is one of chat, claude_code, cowork, or office_agent; 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); share_status is one of organization, private, or public; skill_name matches case-insensitively; user_id takes a tagged user id (user_...), as emitted in responses. An unsupported dimension returns 400. At most 100 entries.
3231
32 maxItems: 100
33
3334- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
3435
3536 Dimensions to break results out by (e.g. group_by[]=user_id). Supported on this endpoint: product, 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.
3637
38 maxItems: 100
39
3740 - `"product"`
3841
3942 - `"rbac_group_id"`
from line 47
4447
4548 Number of results per page (1-1000, default 100).
4649
50 minimum: 1, maximum: 1000
51
4752- `order: optional "asc" or "desc"`
4853
4954 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.
from line 69
6469
6570 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.
6671
67### Returns
72 format: date
6873
69- `SkillUsage object { data, next_page }`
74## Returns
7075
76- `SkillUsage object`
77
7178 Response for GET /v1/organizations/analytics/skills.
7279
73 - `data: array of object { chat_metrics, claude_code_metrics, cowork_metrics, 14 more }`
80 - `data: array of object`
7481
75 - `chat_metrics: object { distinct_conversation_skill_used_count }`
82 - `chat_metrics: object`
7683
7784 Claude.ai activity metrics for a single skill on a given day.
7885
from line 87
8087
8188 Number of distinct conversations in which the skill was used. A skill counts as used only when it is explicitly activated — the model (or the user, via the skill's slash command) invokes it, reading its instructions into context as part of that activation. Skills that are merely installed or listed as available, or whose content reaches the context without an activation (preloaded, hook-injected, or read as a plain file), are not counted. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
8289
83 - `claude_code_metrics: object { distinct_session_skill_used_count }`
90 - `claude_code_metrics: object`
8491
8592 Claude Code activity metrics for a single skill on a given day.
8693
from line 95
8895
8996 Number of distinct Claude Code sessions in which the skill was used. A skill counts as used only when it is explicitly activated — the model (or the user, via the skill's slash command) invokes it, reading its instructions into context as part of that activation. Skills that are merely installed or listed as available, or whose content reaches the context without an activation (preloaded, hook-injected, or read as a plain file), are not counted. Approximate (HLL, typical error <2%) in date-range mode. Null on aggregated rows where a distinct count cannot be computed.
9097
91 - `cowork_metrics: object { distinct_session_skill_used_count }`
98 - `cowork_metrics: object`
9299
93100 Cowork activity metrics for a single skill on a given day.
94101
from line 107
100107
101108 Number of distinct users who used the skill 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. A skill counts as used only when it is explicitly activated — the model (or the user, via the skill's slash command) invokes it, reading its instructions into context as part of that activation. Skills that are merely installed or listed as available, or whose content reaches the context without an activation (preloaded, hook-injected, or read as a plain file), are not counted.
102109
103 - `office_metrics: object { excel, outlook, powerpoint, word }`
110 - `office_metrics: object`
104111
105112 Office Agent activity metrics for a single skill on a given day, broken out by Office product.
106113
from line 143
136143
137144 Currency for this row's monetary fields (estimated_overage_spend and attributed_list_price), as an uppercase ISO-4217 code. Always "USD" when either amount is populated; null whenever both amounts are null.
138145
139 - `"USD"`
140
141146 - `enable_count: optional number or null`
142147
143148 Distinct accounts that enabled this skill on the requested day (claude.ai only — the skill analog of plugin install_count). The count is org-wide: null when enable reporting is not enabled for this organization, or when the request scopes to `user_id` / `rbac_group_id` / `product` via `group_by[]` or `filter[]` (an org-wide count would be misleading on per-cut rows). A distinct count, not an event count: summing across days double-counts members who enable the skill on more than one day, so it is also null in date-range rollup mode (starting_date/ending_date).
from line 183
178183
179184 Opaque cursor for the next page, or null if no more results
180185
181### Example
186## Example
182187
183```http
188```bash
184189curl https://api.anthropic.com/v1/organizations/analytics/skills \
185190 -H 'anthropic-version: 2023-06-01' \
186191 -H "X-Api-Key: $ANTHROPIC_ADMIN_API_KEY"
187192```
188193
189#### Response
194### Response (200)
190195
191196```json
192197{
No line in this hunk matches that.