Skills changedapi/admin/analytics/skills
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+31added
Lines−28removed
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
### Query parameters #### Response (200) ## Domain types ### Query Parameters #### Response ## Domain Types
The whole hunk
from line 1, old and new numbered
/
from line 1
1---
2title: Skills
3url: https://platform.claude.com/docs/en/api/admin/analytics/skills
4---
5
61# Skills
72
83## Get Skill Usage
94
10**get** `/v1/organizations/analytics/skills`
5**GET** `/v1/organizations/analytics/skills`
116
127Get per-skill usage for a given day, with cursor-based pagination.
138
from line 13
1813on a Claude Enterprise plan. Requires an API key with the
1914`read:analytics` scope.
2015
21### Query Parameters
16### Query parameters
2217
2318- `date: optional string`
2419
2520 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.
2621
22 format: date
23
2724- `ending_date: optional string`
2825
2926 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.
3027
28 format: date
29
3130- `filter: optional array of string`
3231
3332 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.
3433
34 maxItems: 100
35
3536- `group_by: optional array of "product" or "rbac_group_id" or "user_id"`
3637
3738 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.
3839
40 maxItems: 100
41
3942 - `"product"`
4043
4144 - `"rbac_group_id"`
from line 49
4649
4750 Number of results per page (1-1000, default 100).
4851
52 minimum: 1, maximum: 1000
53
4954- `order: optional "asc" or "desc"`
5055
5156 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 71
6671
6772 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.
6873
74 format: date
75
6976### Returns
7077
71- `SkillUsage object { data, next_page }`
78- `SkillUsage object`
7279
7380 Response for GET /v1/organizations/analytics/skills.
7481
75 - `data: array of object { chat_metrics, claude_code_metrics, cowork_metrics, 14 more }`
82 - `data: array of object`
7683
77 - `chat_metrics: object { distinct_conversation_skill_used_count }`
84 - `chat_metrics: object`
7885
7986 Claude.ai activity metrics for a single skill on a given day.
8087
from line 89
8289
8390 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.
8491
85 - `claude_code_metrics: object { distinct_session_skill_used_count }`
92 - `claude_code_metrics: object`
8693
8794 Claude Code activity metrics for a single skill on a given day.
8895
from line 97
9097
9198 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.
9299
93 - `cowork_metrics: object { distinct_session_skill_used_count }`
100 - `cowork_metrics: object`
94101
95102 Cowork activity metrics for a single skill on a given day.
96103
from line 109
102109
103110 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.
104111
105 - `office_metrics: object { excel, outlook, powerpoint, word }`
112 - `office_metrics: object`
106113
107114 Office Agent activity metrics for a single skill on a given day, broken out by Office product.
108115
from line 145
138145
139146 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.
140147
141 - `"USD"`
142
143148 - `enable_count: optional number or null`
144149
145150 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 187
182187
183188### Example
184189
185```http
190```bash
186191curl https://api.anthropic.com/v1/organizations/analytics/skills \
187192 -H 'anthropic-version: 2023-06-01' \
188193 -H "X-Api-Key: $ANTHROPIC_ADMIN_API_KEY"
189194```
190195
191#### Response
196#### Response (200)
192197
193198```json
194199{
from line 241
236241}
237242```
238243
239## Domain Types
244## Domain types
240245
241246### Skill Usage
242247
243- `SkillUsage object { data, next_page }`
248- `SkillUsage object`
244249
245250 Response for GET /v1/organizations/analytics/skills.
246251
247 - `data: array of object { chat_metrics, claude_code_metrics, cowork_metrics, 14 more }`
252 - `data: array of object`
248253
249 - `chat_metrics: object { distinct_conversation_skill_used_count }`
254 - `chat_metrics: object`
250255
251256 Claude.ai activity metrics for a single skill on a given day.
252257
from line 259
254259
255260 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.
256261
257 - `claude_code_metrics: object { distinct_session_skill_used_count }`
262 - `claude_code_metrics: object`
258263
259264 Claude Code activity metrics for a single skill on a given day.
260265
from line 267
262267
263268 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.
264269
265 - `cowork_metrics: object { distinct_session_skill_used_count }`
270 - `cowork_metrics: object`
266271
267272 Cowork activity metrics for a single skill on a given day.
268273
from line 279
274279
275280 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.
276281
277 - `office_metrics: object { excel, outlook, powerpoint, word }`
282 - `office_metrics: object`
278283
279284 Office Agent activity metrics for a single skill on a given day, broken out by Office product.
280285
from line 314
309314 - `currency: optional "USD" or null`
310315
311316 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.
312
313 - `"USD"`
314317
315318 - `enable_count: optional number or null`
316319
No line in this hunk matches that.