Eventschemaset CLI
MicrosoftOfficialPublished by Microsoft
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The eventschemaset-cli skill provides a structured interface for interacting with Fabric Event Schema Sets, which serve as registries for event types and message payload schemas. The skill is divided into two distinct operational modes: authoring for state-changing operations like creation, updates, and deletion, and consumption for read-only tasks such as listing, inspecting properties, and decoding definitions. It emphasizes strict adherence to workspace and item resolution procedures and requires specific telemetry headers for all API interactions.
What it does
- Creates, renames, updates, and deletes Event Schema Set definitions.
- Lists and searches for existing Event Schema Sets within a workspace.
- Inspects item properties and retrieves detailed configuration.
- Decodes and enumerates event types and message schemas from definitions.
- Handles long-running operations (LRO) for state-changing requests.
- Enforces mandatory telemetry headers for all Fabric API calls.
When to use it
- When you need to programmatically manage the lifecycle of an Event Schema Set.
- When you need to audit or inspect the current event types and schemas in a registry.
- When performing administrative tasks on Fabric event registries via the CLI.
- When you need to verify the configuration of an Event Schema Set before or after updates.
Advantages
- Provides a clear separation between read-only and write operations to prevent accidental changes.
- Standardizes the process for resolving workspace and item identifiers.
- Includes built-in guidance for handling LRO polling and authentication.
- Ensures consistent telemetry reporting for all Fabric interactions.
Usage examples
- “List all Event Schema Sets in my Analytics workspace.”
- The agent will use the consumption mode to list all Event Schema Sets within the specified workspace after resolving the workspace ID.
- “Create an Event Schema Set called orders-catalog in Analytics.”
- The agent will switch to the authoring mode, read the authoring reference, and execute the command to create the new item.
- “Decode the definition of orders-catalog and tell me its event types and schemas.”
- The agent will use the consumption mode to retrieve and decode the definition, then summarize the contained event types and schemas.
- “Delete the orders-catalog-old Event Schema Set from Analytics.”
- The agent will switch to the authoring mode, confirm the target item, and execute the deletion command.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/eventschemaset-cli/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip eventschemaset-cli.zip -d .agents/skills
Documentation by Microsoft
Telemetry — MANDATORY. Every
api.fabric.microsoft.comcall must carryx-ms-fabric-skill: eventschemaset-cli(az rest:--headers "x-ms-fabric-skill=eventschemaset-cli"), including every LRO poll,fabric_lroand retry. Snippets omit it — add it anyway.
CRITICAL NOTES
To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering
To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering
Skill disambiguation: use
eventschemaset-clifor the EventSchemaSet catalog item (event types and message schemas). Eventstream is a different item -- a real-time ingestion and routing pipeline; useeventstream-clifor it. Eventhouse / KQL Database is another different item; useeventhouse-clifor it.
Fabric Event Schema Set -- CLI Skill
This one skill owns Fabric Event Schema Sets: authoring the catalog (create, rename, override definition, delete) plus read-only inspection and decoding of its eventTypes and schemas.
Preview: The Fabric EventSchemaSet item and its REST operations are currently in Preview -- behavior, response shapes, and availability may change. Every operation is documented as delegated (user) identity only (service principals and managed identities listed as not supported), but because the item is in Preview, SP/MI access can succeed and is tenant-dependent. Prefer
az loginas a user; on 401/403 with an SP/MI, fall back to a delegated user identity.
It is a mode dispatcher and contains NO procedures. Pick the mode that matches the request from the table below, then read the matching references/<mode>.md file end to end with your file-reading tool BEFORE issuing a single command. That file holds the endpoints, payload shapes, templates and gotchas; acting without it produces wrong payloads and wrong results.
Mode selection
| Mode | Use when the request ... | Example triggers | Read this first |
|---|---|---|---|
authoring | creates, renames/re-describes, overrides the definition of, or deletes an Event Schema Set (Create, Update, UpdateDefinition, Delete) | create event schema set, update event schema set definition, add event type to an event schema set, rename event schema set, delete event schema set | references/authoring.md |
consumption | lists or searches Event Schema Sets, inspects item properties, or decodes a definition to enumerate its eventTypes and schemas | list event schema sets, inspect event schema set, decode event schema set definition, get schema version, list business events | references/consumption.md |
Mode boundary rule
consumption may only issue read-only calls (List, Get, GetDefinition). Any state-changing operation (Create, Update, UpdateDefinition, Delete) requires the authoring mode: say so, read references/authoring.md, then proceed.
If a request genuinely spans modes (e.g. decode the current definition, then override it), handle them one at a time and read each reference before you start that part. If the mode is ambiguous after reading this table, ask one short clarifying question instead of guessing.
Terminal write -- the step you must not skip
Reading the reference and planning the change is NOT completing the task. The authoring mode ends with one state-changing call. If you did not issue it, nothing was persisted -- say so explicitly rather than reporting success.
| Mode | Terminal write |
|---|---|
authoring | The POST .../eventSchemaSets, PATCH .../eventSchemaSets/{id}, POST .../eventSchemaSets/{id}/updateDefinition, or DELETE .../eventSchemaSets/{id} for the requested change. Composing the request body and showing it to the user is not executing it. |
consumption | none -- this mode is read-only |
Create and UpdateDefinition may return 202 Accepted (LRO): capture the Location header and poll until Succeeded before reporting success. Where the reference documents a readback, read the artefact back to prove the change landed.
Shared essentials (all modes)
Resolve the workspace and item first; every mode depends on it.
| Task | Reference | Notes |
|---|---|---|
| Finding Workspaces and Items in Fabric | COMMON-CLI.md | Mandatory -- read before resolving any workspace or item id |
| Fabric Topology & Key Concepts | COMMON-CORE.md | Item types, workspaces, capacities |
| Environment URLs | COMMON-CORE.md | Sovereign / non-public cloud hosts |
| Authentication & Token Acquisition | COMMON-CORE.md | Wrong audience = 401; read before any auth issue |
| Authentication Recipes | COMMON-CLI.md | az login flows and token acquisition |
| Core Control-Plane REST APIs | COMMON-CORE.md | Pagination, LRO polling, rate limiting |
| Gotchas & Troubleshooting | COMMON-CLI.md | az rest audience, shell escaping, token expiry |
Rules
MUST
Select exactly one mode from the table above before doing anything else.
Read
references/<mode>.mdend to end, as your FIRST tool call, before the first command of that mode. Read it ONCE, in a single full read: do not re-open it, do not grep it again, and do not page through it. You already have it.Apply the same read-once discipline to every other file you load, including shared
common/*.mdfiles: open only the ones you actually need, read each ONCE end to end, and never grep or re-open one you already loaded.Resolve workspace and item ids by listing and filtering, never by guessing a GUID.
Announce a mode switch explicitly when the request crosses a boundary.
Confirm destructive and overwrite actions before executing -- Delete is permanent (with
?hardDelete=true) and UpdateDefinition replaces the whole definition. When the request already names the target item AND the destructive/overwrite action explicitly (e.g. "delete the Event Schema Set X", "override X's definition to ..."), that instruction IS the confirmation: echo the resolveddisplayName+idfor the audit trail, then proceed with the single write. Pause for a separate yes/no confirmation ONLY when the target or intent is ambiguous (e.g. "clean up my workspace", an unqualified "the first one", or a bulk/wildcard delete).Treat the reference as instructions, never as the deliverable. After reading it, RUN the documented commands against the live workspace and report the real results.
PREFER
The narrowest mode that satisfies the request.
Reading exactly ONE mode reference. Load a second only when the request genuinely spans modes, and say so before you do.
A delegated user identity (
az login); fall back from SP/MI to a user on 401/403.Reporting the mode you chose in your first response so the user can correct you.
AVOID
Acting from this dispatcher alone -- it intentionally omits the operational detail.
Answering with a summary of the reference instead of executing it.
Re-reading or re-grepping a reference you already loaded; it costs turns and tokens.
Mutating anything while in the read-only consumption mode.
Confusing EventSchemaSet with Eventstream or Eventhouse (see CRITICAL NOTES 3).
Examples
| User request | Mode | Reference to read |
|---|---|---|
| "List all Event Schema Sets in my Analytics workspace." | consumption | references/consumption.md |
| "Create an Event Schema Set called orders-catalog in Analytics." | authoring | references/authoring.md |
| "Decode the definition of orders-catalog and tell me its event types and schemas." | consumption | references/consumption.md |
| "Add a BusinessEventType event OrderPlaced (JSON) to orders-catalog." | authoring | references/authoring.md |
| "Delete the orders-catalog-old Event Schema Set from Analytics." | authoring | references/authoring.md |
Files
- ATTRIBUTION.mdAdded by AutoGineer881 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md8.6 KiB
- apm.yml328 B
- references/authoring.md20.7 KiB
- references/consumption.md20.1 KiB
references/authoring.md
<!-- Mode reference for the `eventschemaset-cli` skill. Loaded on demand from `skills/eventschemaset-cli/SKILL.md` when the request matches the `authoring` mode. -->
PRE-MUTATION REQUIREMENTS GATE (mandatory) Before any create, update, override, or delete, confirm the request identifies the target workspace and the specific Event Schema Set (and, for a definition override, the intended eventTypes/schemas change). If the request is generic or ambiguous, such as "set up my event schema set" or "delete the first one", ask a clarifying question and stop before mutation. UpdateDefinition REPLACES the whole definition and Delete is permanent with
?hardDelete=true-- always echo the resolved displayName + id for the audit trail. When the request already names the target item AND the destructive/overwrite action explicitly, that instruction IS the confirmation: proceed with the single write after echoing. Ask for a separate yes/no confirmation only when the target or intent is ambiguous.
eventschemaset-cli authoring mode — Event Schema Set Authoring via CLI
Preview: The Fabric EventSchemaSet item and its REST operations (Create, Update, UpdateDefinition, Delete) are currently in Preview — behavior, response shapes, and availability may change.
Identity (all operations): Microsoft Learn documents every Event Schema Set write operation (Create, Update, UpdateDefinition, Delete) as supporting delegated (user) identity only — with service principals and managed identities listed as not supported. In practice, because the item is in Preview, service-principal / managed-identity access can succeed and is tenant-dependent. Prefer signing in as a user with
az login(not--service-principal, and not a managed-identity context). If you must use a service principal or managed identity and a call fails with 401/403, fall back to a delegated user identity.Permissions: Write operations require a workspace Contributor role (or higher) and the
Item.ReadWrite.Alldelegated scope. The workspace must be on a supported Fabric capacity.
Table of Contents
| Task | Reference | Notes |
|---|---|---|
| Finding Workspaces and Items in Fabric | COMMON-CLI.md § Finding Workspaces and Items in Fabric | Mandatory — READ link first [needed for finding workspace id by its name or item id by its name, item type, and workspace id] |
| Fabric Topology & Key Concepts | COMMON-CORE.md § Fabric Topology & Key Concepts | |
| Environment URLs | COMMON-CORE.md § Environment URLs | |
| Authentication & Token Acquisition | COMMON-CORE.md § Authentication & Token Acquisition | Wrong audience = 401; read before any auth issue |
| Core Control-Plane REST APIs | COMMON-CORE.md § Core Control-Plane REST APIs | Includes pagination, LRO polling, and rate-limiting patterns |
| Gotchas, Best Practices & Troubleshooting | COMMON-CORE.md § Gotchas, Best Practices & Troubleshooting | |
| Tool Selection Rationale | COMMON-CLI.md § Tool Selection Rationale | |
| Authentication Recipes | COMMON-CLI.md § Authentication Recipes | az login flows and token acquisition |
Fabric Control-Plane API via az rest | COMMON-CLI.md § Fabric Control-Plane API via az rest | Always pass --resource; includes pagination and LRO helpers |
| Long-Running Operations (LRO) | COMMON-CLI.md § Long-Running Operations (LRO) Pattern | 202 Accepted → capture Location, poll Retry-After until Succeeded |
| Gotchas & Troubleshooting (CLI-Specific) | COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific) | az rest audience, shell escaping, token expiry |
| Quick Reference | COMMON-CLI.md § Quick Reference | az rest template + token audience/tool matrix |
| Create an Event Schema Set | Create an Event Schema Set | Empty item, or created with an inline definition |
| Update Event Schema Set Properties | Update Event Schema Set Properties | Rename / change description via PATCH |
| Update Event Schema Set Definition | Update Event Schema Set Definition | Override eventTypes / schemas (build → base64 → submit) |
| Delete an Event Schema Set | Delete an Event Schema Set | |
| Definition Structure | Definition Structure | eventTypes and schemas shape used by Create/UpdateDefinition |
| Must / Prefer / Avoid | Must / Prefer / Avoid | MUST DO / AVOID / PREFER checklists |
| Examples | Examples | Prompt → command-flow pairs (create, rename, override definition, add event type, delete) |
| Agent Integration Notes | Agent Integration Notes |
Tool Stack
| Tool | Purpose |
|---|---|
| az cli | REST calls via az rest; Fabric control-plane discovery |
| jq | JSON processing, building the definition payload, and output formatting |
| base64 | Encode the definition part payload before submission |
| curl | Required for the LRO helper when polling 202 Accepted responses (captures the Location header) |
See COMMON-CLI.md for installation and authentication setup.
Create an Event Schema Set
Create a new Event Schema Set with the
Create Event Schema Set
operation (scope Item.ReadWrite.All, workspace Contributor). The request body takes a required
displayName and optional description, definition, and sensitivityLabelSettings.
The call returns 201 Created with the new item on the synchronous path, or 202 Accepted
(LRO) with an empty body while provisioning continues — in that case capture the Location header
and poll until Succeeded (see the LRO reference in the Table of Contents). Always confirm the new
item's id from the final response before reporting success.
Create an empty Event Schema Set
az rest --method POST \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventSchemaSets" \
--resource "https://api.fabric.microsoft.com" \
--body '{"displayName":"orders-catalog","description":"Order domain event catalog"}'Create with an inline definition
To create the item already populated, include a definition object whose parts[] carry the
base64-encoded schema part (and optionally a .platform part). Build the definition JSON first (see
Definition Structure), base64-encode it, then embed it. Guide the model to
assemble the payload rather than pasting a fixed template — the eventTypes/schemas content is
scenario-specific.
# $DEF_JSON holds the decoded EventSchemaSet definition document (eventTypes/schemas).
PAYLOAD=$(printf '%s' "$DEF_JSON" | base64 -w0) # macOS: base64 | tr -d '\n'
az rest --method POST \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventSchemaSets" \
--resource "https://api.fabric.microsoft.com" \
--body "$(jq -n --arg name "orders-catalog" --arg payload "$PAYLOAD" '{
displayName: $name,
definition: { parts: [ { path: "EventSchemaSetDefinition.json", payload: $payload, payloadType: "InlineBase64" } ] }
}')"Prefer writing the assembled request body to a file and passing
--body @body.jsonwhen the payload is large — long inline--bodystrings hit shell-quoting and length limits.
Update Event Schema Set Properties
Change an existing item's displayName or description with the
Update Event Schema Set
operation. This is a PATCH on the item endpoint and only touches metadata — it does not alter
the eventTypes/schemas definition (use Update Event Schema Set Definition
for that).
az rest --method PATCH \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventSchemaSets/${ITEM_ID}" \
--resource "https://api.fabric.microsoft.com" \
--body '{"displayName":"orders-catalog-v2","description":"Renamed order catalog"}'Send only the fields you intend to change. Resolve ${ITEM_ID} by listing the workspace's Event
Schema Sets and filtering on displayName (see the Finding Workspaces and Items reference) — never
hardcode it.
Update Event Schema Set Definition
Override the item's definition — its full eventTypes and schemas — with the
Update Event Schema Set Definition
operation. This is a POST on .../updateDefinition and replaces the entire definition (it is
an override, not a merge), so build the complete target definition, not just the delta.
Scope: requires
Item.ReadWrite.All(read + write workspace permissions).
updateMetadata: pass?updateMetadata=trueonly when you include a.platformpart and want the item's metadata refreshed from it. Updating the definition does not change the sensitivity label.
Step 1: Build and encode the target definition
Assemble the complete definition document (see Definition Structure),
then base64-encode it as the schema part's payload:
# $DEF_JSON = the complete, decoded EventSchemaSet definition after your edits.
PAYLOAD=$(printf '%s' "$DEF_JSON" | base64 -w0) # macOS: base64 | tr -d '\n'
jq -n --arg payload "$PAYLOAD" '{
definition: { parts: [ { path: "EventSchemaSetDefinition.json", payload: $payload, payloadType: "InlineBase64" } ] }
}' > updateDefinition-body.jsonTo edit an existing definition, first retrieve and decode it with the consumption mode
(Get Definition), apply the change to the decoded JSON, then re-encode as above.
Step 2: Submit the override
az rest --method POST \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventSchemaSets/${ITEM_ID}/updateDefinition" \
--resource "https://api.fabric.microsoft.com" \
--body @updateDefinition-body.jsonReturns 200 OK on the synchronous path or 202 Accepted (LRO) — on a 202, capture the
Location header and poll until Succeeded before reporting success (see the LRO reference).
Delete an Event Schema Set
Remove an Event Schema Set with the
Delete Event Schema Set
operation. By default (hardDelete omitted or false) the item is soft-deleted when the item
type supports it — recoverable from the workspace recycle bin; pass ?hardDelete=true to remove it
permanently. Delete is permanent only with ?hardDelete=true; always echo the resolved target
first, and — when the request did not already name the item and the delete explicitly — confirm with
the user before issuing it.
# Default: soft-delete (recoverable if the item type supports it).
# Append ?hardDelete=true to the URL to delete permanently.
az rest --method DELETE \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventSchemaSets/${ITEM_ID}" \
--resource "https://api.fabric.microsoft.com"Resolve ${ITEM_ID} by name first and echo back the resolved displayName + id. When the request
already named the item and the delete explicitly, that IS the confirmation — proceed; otherwise ask
the user to confirm before issuing the DELETE.
Definition Structure
Create and Update-Definition submit a base64-encoded definition document. Decoded, it has two top-level, optional collections:
| Field | Type | Description |
|---|---|---|
eventTypes | EventType[] | Event metadata shared between source, Eventstream, and destination items |
schemas | Schema[] | Formats used to represent the messages stored in the catalog |
Each EventType carries: id (required), description, eventTypeCategory
(EventType or BusinessEventType), format (required), envelopeMetadata, schemaUrl,
schemaFormat, schema, protocol, and protocolOptions. schemaUrl and schema are mutually
exclusive — set at most one.
Each Schema carries: id (required), description, format (required), and versions (each
version has a stable string id such as v1, v2, plus its own required format).
Format fields — use versioned values, never bare Json
format means different things on an EventType than on a Schema, and the service validates both.
Sending a bare Json fails with 400 InputError: "Provided "Format" is not valid. Supported
formats are JsonSchema, Avro, Protobuf and XSD."
| Field | Meaning | Use |
|---|---|---|
eventTypes[].format | Envelope / serialization format of the event | CloudEvents/1.0 |
eventTypes[].schemaFormat | Format of that event's payload schema | JsonSchema/draft-07, Avro/1.12.0 |
schemas[].format | Format of the schema declaration | JsonSchema/draft-07, Avro/1.12.0 |
schemas[].versions[].format | Required on every version; match the parent schema | JsonSchema/draft-07, Avro/1.12.0 |
When the user says "JSON format", they mean the payload schema, not the envelope: set
eventTypes[].format to CloudEvents/1.0 and put JsonSchema/draft-07 on schemaFormat (and on
the schemas[] entry plus each of its versions[]). Never put Json in any format field.
eventTypeCategoryis accepted on write but is not returned by Get Definition today (Preview). Send it when the user asks for aBusinessEventType, but do not expect to read it back, and do not report an event's category from a decoded definition — it will look empty.
The definition is wrapped for submission as a part:
{
"definition": {
"parts": [
{ "path": "EventSchemaSetDefinition.json", "payload": "<base64 of the decoded document>", "payloadType": "InlineBase64" }
]
}
}See the EventSchemaSet definition article
for the authoritative part naming and structure. The path is a label (the REST operation examples
also show EventSchemaSetV1.json); when overriding an existing item, reuse the exact part path
returned by Get Definition rather than inventing one. Let the model generate the concrete
eventTypes/schemas from the user's intent — do not hardcode a fixed catalog.
Must / Prefer / Avoid
Must
Confirm destructive and overwrite actions before executing — Delete is permanent (with
?hardDelete=true), and Update-Definition replaces the whole definition. Always echo the resolveddisplayName+id; a request that already names the target item AND the destructive/overwrite action IS the confirmation, so proceed with the single write after echoing. Ask for a separate confirmation only when the target or intent is ambiguous.Always pass
--resource https://api.fabric.microsoft.comwithaz restcalls.Always resolve workspace and item IDs via JMESPath filtering — never hardcode them.
Build the complete definition for
updateDefinition— it is an override, not a merge. To edit, decode the current definition (via theconsumptionmode), change it, re-encode the full document.Handle LRO responses — Create and Update-Definition may return
202 Accepted; captureLocationand poll untilSucceededbefore reporting success.Prefer a delegated user identity (
az login) — write ops are documented as user-only; fall back from SP/MI to a user on 401/403.
Prefer
Write large request bodies to a file and pass
--body @file.jsonto avoid shell-quoting/length limits.Use
jq -nto assemble request bodies and inject the base64payload, rather than string concatenation.Base64-encode with no line wraps (
base64 -w0, orbase64 | tr -d '\n'on macOS).Send only changed fields in the PATCH (Update Properties).
Avoid
Do NOT hardcode workspace or item IDs — always discover them via the API.
Do NOT send a partial definition to
updateDefinitionexpecting a merge — you will drop the omitted event types/schemas.Do NOT set both
schemaandschemaUrlon one event type — they are mutually exclusive.Do NOT use this authoring skill for read-only listing/inspection/decoding — use the
consumptionmode.Do NOT confuse EventSchemaSet with Eventstream or Eventhouse — use their dedicated skills.
Examples
Example 1 — Create an empty Event Schema Set
Prompt: "Create an Event Schema Set called orders-catalog in my Analytics workspace."
Flow:
Resolve the workspace name → ID via
GET /v1/workspaces+ JMESPath (see the Table of Contents' Finding Workspaces and Items in Fabric reference).POST /v1/workspaces/${WORKSPACE_ID}/eventSchemaSetswith{"displayName":"orders-catalog"}.If the response is
202 Accepted, captureLocationand poll untilSucceeded. Report the new item'sid.
Example 2 — Rename an Event Schema Set / change its description
Prompt: "Rename the orders-catalog Event Schema Set to orders-catalog-v2 in Analytics."
Flow:
Resolve the workspace ID, then resolve the item ID by filtering the list on
displayName=='orders-catalog'. If none matches, report not found and stop.PATCH /v1/workspaces/${WORKSPACE_ID}/eventSchemaSets/${ITEM_ID}with{"displayName":"orders-catalog-v2"}.Confirm the updated
displayNamein the response.
Example 3 — Override the definition to add an event type
Prompt: "Add a BusinessEventType event OrderPlaced (JSON format) to the orders-catalog Event Schema Set."
Flow:
Resolve the workspace ID and item ID (as above).
Retrieve and decode the current definition (delegate to the
consumptionmode Get Definition), so the override preserves existing event types/schemas.Append the new
eventTypesentry (id: OrderPlaced,eventTypeCategory: BusinessEventType,format: CloudEvents/1.0, and — since the user said JSON —schemaFormat: JsonSchema/draft-07) to the decoded document.Base64-encode the complete updated document and
POST .../updateDefinitionwith the wrappeddefinition.partsbody, reusing the exact partpathreturned by Get Definition.If
202 Accepted, poll theLocationuntilSucceeded. Confirm the new event type is present by re-decoding.
Example 4 — Create an Event Schema Set with an inline definition
Prompt: "Create payments-catalog in Analytics with a JsonSchema schema PaymentSchema and an EventType event PaymentReceived."
Flow:
Resolve the workspace ID.
Build the definition document with the requested
schemas(PaymentSchema,format: JsonSchema/draft-07, each entry underversionscarrying the sameformat) andeventTypes(PaymentReceived,format: CloudEvents/1.0,schemaFormat: JsonSchema/draft-07).Base64-encode it and
POST /v1/workspaces/${WORKSPACE_ID}/eventSchemaSetswith{ displayName, definition: { parts: [...] } }.Handle
201/202; report the created itemid.
Example 5 — Delete an Event Schema Set
Prompt: "Delete the orders-catalog-old Event Schema Set from Analytics."
Flow:
Resolve the workspace ID and the item ID by filtering on
displayName=='orders-catalog-old'. If none matches, report not found and stop.Echo the resolved
displayName+id. The prompt already named the item and the delete, so that instruction IS the confirmation — proceed (delete is permanent ifhardDelete=true).Issue
DELETE /v1/workspaces/${WORKSPACE_ID}/eventSchemaSets/${ITEM_ID}.Report success (HTTP 200).
Agent Integration Notes
This skill performs writes — Create, Update (properties), Update-Definition (override), and Delete.
For read-only listing, property inspection, and definition decoding, delegate to the
consumptionmode.For the Eventstream ingestion/routing pipeline, use
eventstream-cli.For cross-workload orchestration, delegate to the FabricDataEngineer agent.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/skills-for-fabric · skills/eventschemaset-cli · commit f8fac11
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- microsoft/skills-for-fabric
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download eventschemaset-cli.zip