
search-consumption-cli
✓ Official★ 716by microsoft · part of microsoft/skills-for-fabric
Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.
Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by microsoft
Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.
npx skills add https://github.com/microsoft/skills-for-fabric --skill search-consumption-cli
Download ZIPGitHub716
Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.
-
GitHub Copilot CLI / VS Code: invoke the
check-updatesskill (e.g.,/fabric-skills:check-updates). -
Claude Code / Cowork / Cursor / Windsurf / Codex: read the local
package.jsonversion, then compare it against the remote version viagit fetch origin main --quiet && git show origin/main:package.json(or the GitHub API). If the remote version is newer, show the changelog and update instructions. -
Skip if the check was already performed earlier in this session.
CRITICAL NOTES
-
The Catalog Search API finds items, not workspaces. To find a workspace by name, use
GET /v1/workspaces(see COMMON-CLI.md § Resolve Workspace Properties by Name). -
The search text matches against item display name, description, and workspace name.
-
Dataflow (Gen1) and Dataflow (Gen2) are not supported.
Catalog Search — CLI Skill
Prerequisite Knowledge
-
COMMON-CORE.md — Fabric REST API patterns, auth
-
COMMON-CLI.md — CLI implementation (az, curl, jq)
Table of Contents
Task Reference Notes Search for an Item SKILL.md § Search for an Item By name, description, or workspace name List All Items of a Type SKILL.md § List All Items of a Type Empty search + type filter Pagination SKILL.md § Pagination Continuation token pattern Agentic Workflow SKILL.md § Agentic Workflow Examples SKILL.md § Examples Gotchas and Troubleshooting SKILL.md § Gotchas and Troubleshooting
Must/Prefer/Avoid
MUST DO
-
Authenticate first — see COMMON-CORE.md § Authentication & Token Acquisition and COMMON-CLI.md § Authentication Recipes. The Catalog Search API requires
Catalog.Read.Allscope. -
Write the JSON body to a temp file — avoids shell quoting issues with filter strings.
-
Disambiguate — if multiple results match, present display name, type, and workspace name and ask the user to confirm.
PREFER
-
Catalog Search over list-and-filter — single cross-workspace call, no need to resolve workspace first.
-
Type filters — narrow results with
"filter": "Type eq 'Lakehouse'"to reduce noise. -
Empty search with type filter — to list all items of a type across workspaces.
-
jqfor extracting IDs from the response — cleaner than JMESPath for nestedhierarchy.workspace.
AVOID
-
Searching for workspaces — the Catalog Search API returns items, not workspaces. Use
GET /v1/workspacesinstead (see COMMON-CLI.md § Resolve Workspace Properties by Name). -
Inventing filter syntax — only
eq,ne,or, and parentheses are supported. -
Assuming all item types are supported — Dataflow (Gen1) and Dataflow (Gen2) are not returned yet.
Search for an Item
cat > /tmp/body.json The search text matches against item display name, description and workspace name. Type filtering is optional. The response includes `id`, `type`, `displayName`, `description`, and `hierarchy.workspace` (with `id` and `displayName`) for each match.
### Extract item and workspace IDs
az rest --method post
--resource "https://api.fabric.microsoft.com"
--url "https://api.fabric.microsoft.com/v1/catalog/search"
--body @/tmp/body.json
--query "value[0].{itemId:id, workspaceId:hierarchy.workspace.id, name:displayName}"
--output json
### Filter Examples
Goal Filter
Only lakehouses `Type eq 'Lakehouse'`
Reports or semantic models `Type eq 'Report' or Type eq 'SemanticModel'`
Exclude notebooks `Type ne 'Notebook'`
For the full list of supported item types, see the [Catalog Search API reference](https://learn.microsoft.com/en-us/rest/api/fabric/core/catalog/search).
## List All Items of a Type
Use an empty search string with a type filter (`pageSize` max is 1000):
cat > /tmp/body.json
Pagination
If the response includes a non-null continuationToken, pass it in the next request:
cat > /tmp/body.json "}
EOF
az rest --method post \
--resource "https://api.fabric.microsoft.com" \
--url "https://api.fabric.microsoft.com/v1/catalog/search" \
--body @/tmp/body.json
Continue until continuationToken is null.
Agentic Workflow
-
Ask — user provides an item name, type, or description keywords.
-
Search — call Catalog Search with the user's input and optional type filter.
-
Disambiguate — if multiple matches, present results (name, type, workspace) and ask the user to pick.
-
Return — provide the search results, include the item
idandhierarchy.workspace.idfor downstream use.
Examples
Find a specific report
cat > /tmp/body.json /tmp/body.json /tmp/body.json /tmp/search_results.json
npx skills add https://github.com/microsoft/skills-for-fabric --skill search-consumption-cliRun this in your project — your agent picks the skill up automatically.
Gotchas and Troubleshooting
Symptom Cause Fix
401 Unauthorized Wrong token audience or expired session Verify --resource "https://api.fabric.microsoft.com". Run az login.
InvalidPageSize pageSize outside 1–1000 Use a value between 1 and 1000.
InvalidFilter Bad filter syntax Only eq, ne, or, and parentheses. Don't mix eq with and, or ne with or. Don't mix eq and ne in the same filter.
TypeNotFound Unrecognized item type in filter Check spelling (case-sensitive). See API reference for valid types.
FilterTooManyValues Filter has more than 500 values Reduce the number of type values in the filter.
InvalidRequest Missing request body Ensure --body points to a valid JSON file.
Empty results for known item Item type not supported Dataflow Gen1/Gen2 are excluded. Use GET /v1/workspaces/{id}/items instead.
New item not found Catalog index propagation delay Indexing lag is variable and not yet near-real-time — usually minutes, but not guaranteed. A just-created item may not appear in search results yet; verify it exists via GET /v1/workspaces/{id}/items instead.
Too many results Search text too broad Add a type filter or use more specific search text.