# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Artifact API version: 1.0.0 extends: openapi/microsoft-azure-artifact-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 22 - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/metadata'].post update: x-apievangelist-phrasing: intent: Create artifact metadata in an ML workspace effect: write questions: - How do I register a new artifact record in my Azure Machine Learning workspace? - What do I need to supply (origin, container, path) to create artifact metadata? instructions: - text: Create an artifact at path {path} in container {container} with origin {origin} in workspace {workspace}. slots: path: requestBody.path container: requestBody.container origin: requestBody.origin workspace: path.workspaceName - text: Add artifact metadata for {path} to workspace {workspace} in resource group {resource_group}, subscription {subscription}. slots: path: requestBody.path workspace: path.workspaceName resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/register'].post update: x-apievangelist-phrasing: intent: Register an artifact for an existing data location effect: write questions: - Can I register an artifact that points at data already sitting in storage instead of uploading it? - How do I link an existing dataPath to a new ML workspace artifact? instructions: - text: Register an artifact for the existing data location {data_path} at path {path} in container {container} with origin {origin}. slots: data_path: requestBody.dataPath path: requestBody.path container: requestBody.container origin: requestBody.origin - text: Point a new artifact in workspace {workspace} (resource group {resource_group}, subscription {subscription}) at data that already exists. slots: workspace: path.workspaceName resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/metadata'].get update: x-apievangelist-phrasing: intent: Get the metadata of one ML workspace artifact effect: read questions: - How can I look up the metadata record for a single artifact path in my ML workspace? - What metadata does Azure keep for one artifact, like its etag and created time? instructions: - text: Get the metadata for artifact {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Show the artifact record at {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/metadata'].delete update: x-apievangelist-phrasing: intent: Delete one artifact's metadata effect: destructive questions: - How do I remove the metadata for a single artifact path from an ML workspace? - Can I hard delete an artifact's metadata rather than soft delete it? instructions: - text: Delete the metadata of artifact {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Hard delete the single artifact record at {path}, setting hardDelete to {hard_delete}, in resource group {resource_group}, subscription {subscription}. slots: path: query.path hard_delete: query.hardDelete resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}'].get update: x-apievangelist-phrasing: intent: List artifacts in a container or path effect: read questions: - Which artifacts are stored in a given container of my ML workspace? - Can I browse artifacts under a folder prefix and page through them with a continuation token? instructions: - text: List all artifacts in container {container} with origin {origin} in workspace {workspace}. slots: container: path.container origin: path.origin workspace: path.workspaceName - text: Browse artifacts under folder {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/content'].get update: x-apievangelist-phrasing: intent: Download an artifact's content effect: read questions: - How do I download the actual file content of an artifact from my ML workspace? - Can I fetch the bytes of a model output artifact directly? instructions: - text: Download the content of artifact {path} from container {container} (origin {origin}) in workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Fetch the file bytes of {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/content'].post update: x-apievangelist-phrasing: intent: Upload content to an artifact effect: write questions: - How do I upload file content into an artifact in my ML workspace? - Can I append to an existing artifact or overwrite it when uploading? instructions: - text: Upload content to artifact {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Append uploaded content to artifact {path} with append set to {append}, in resource group {resource_group}, subscription {subscription}. slots: path: query.path append: query.append resource_group: path.resourceGroupName subscription: path.subscriptionId - text: Upload to {path} and allow overwriting existing content ({allow_overwrite}). slots: path: query.path allow_overwrite: query.allowOverwrite method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo'].get update: x-apievangelist-phrasing: intent: Get content information for an artifact effect: read questions: - Where can I see the content information, such as the download location, for one artifact? - What content info does the workspace return about a stored artifact file? instructions: - text: Get the content information for artifact {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Show the content info record for {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/contentinfo/storageuri'].get update: x-apievangelist-phrasing: intent: Get the storage URI details for one artifact effect: read questions: - How do I find the underlying storage location of a single artifact? - Which storage URI backs a particular artifact file in my workspace? instructions: - text: Look up which storage account URI holds artifact {path} from container {container}, origin {origin}, workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Find the storage URI behind artifact {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/write'].get update: x-apievangelist-phrasing: intent: Get a writable SAS for an artifact effect: read questions: - How do I get a writable shared access signature so I can write to an artifact directly? - Can I obtain a write SAS URL for one artifact in an ML workspace? instructions: - text: Get a writable shared access signature for artifact {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Generate a write SAS for {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo'].get update: x-apievangelist-phrasing: intent: Get SAS content info for artifacts under a prefix effect: read questions: - Can I get shared access signatures for every artifact under a folder prefix at once? - How do I page through SAS-enabled content info for artifacts in a path? instructions: - text: List SAS content info for all artifacts under prefix {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Get shared access signatures for the artifacts beneath {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/prefix/contentinfo/storageuri'].get update: x-apievangelist-phrasing: intent: List storage URIs for artifacts under a prefix effect: read questions: - How can I get the storage URIs of all artifacts in a specific folder path? - Is there a paged way to list raw storage locations for artifacts by prefix? instructions: - text: List storage URIs for artifacts under prefix {path} in container {container} (origin {origin}) of workspace {workspace}. slots: path: query.path container: path.container origin: path.origin workspace: path.workspaceName - text: Get the storage locations of every artifact beneath {path} in resource group {resource_group}, subscription {subscription}. slots: path: query.path resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/batch/metadata'].post update: x-apievangelist-phrasing: intent: Fetch metadata for several artifacts by ID effect: read questions: - Can I look up metadata for many artifacts in one request using their IDs? - How do I batch retrieve artifact records when I already have a list of artifact IDs? instructions: - text: Get metadata for artifacts {artifact_ids} in workspace {workspace}. slots: artifact_ids: requestBody.artifactIds workspace: path.workspaceName - text: Batch fetch artifact records for IDs {artifact_ids} in resource group {resource_group}, subscription {subscription}. slots: artifact_ids: requestBody.artifactIds resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/storageuri/batch/metadata'].post update: x-apievangelist-phrasing: intent: Fetch storage details for several artifacts by ID effect: read questions: - How do I get the storage locations for a batch of artifact IDs in one call? - Can I resolve many artifact IDs to their storage URIs at once? instructions: - text: Get storage information for artifact IDs {artifact_ids} in workspace {workspace}. slots: artifact_ids: requestBody.artifactIds workspace: path.workspaceName - text: Resolve the storage URIs of artifacts {artifact_ids} in resource group {resource_group}, subscription {subscription}. slots: artifact_ids: requestBody.artifactIds resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/ingest/containersas'].post update: x-apievangelist-phrasing: intent: Bulk ingest artifacts from a container SAS effect: write questions: - How do I bulk import files from another storage container into workspace artifacts using a SAS? - Can I limit a SAS-based artifact ingest to files under a certain prefix? instructions: - text: Ingest artifacts from container {container_uri} using SAS {container_sas} into container {container} (origin {origin}) of workspace {workspace}. slots: container_uri: requestBody.containerUri container_sas: requestBody.containerSas container: path.container origin: path.origin workspace: path.workspaceName - text: Bulk import only files under prefix {prefix} from {container_uri} with SAS {container_sas}, in resource group {resource_group}, subscription {subscription}. slots: prefix: requestBody.prefix container_uri: requestBody.containerUri container_sas: requestBody.containerSas resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata'].post update: x-apievangelist-phrasing: intent: Create a batch of empty artifacts from paths effect: write questions: - Can I create many empty placeholder artifacts at once from a list of paths? - How do I pre-create artifact entries before uploading their content? instructions: - text: Create empty artifacts for paths {paths} in container {container} (origin {origin}) of workspace {workspace}. slots: paths: requestBody.paths container: path.container origin: path.origin workspace: path.workspaceName - text: Pre-create placeholder artifacts at {paths} in resource group {resource_group}, subscription {subscription}. slots: paths: requestBody.paths resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch/metadata:delete'].post update: x-apievangelist-phrasing: intent: Delete metadata for a list of artifact paths effect: destructive questions: - How do I delete the metadata of several specific artifact paths in one request? - Can a batch artifact metadata delete be a hard delete? instructions: - text: Delete artifact metadata for paths {paths} in container {container} (origin {origin}) of workspace {workspace}. slots: paths: requestBody.paths container: path.container origin: path.origin workspace: path.workspaceName - text: Hard delete ({hard_delete}) the listed artifact records {paths} in resource group {resource_group}, subscription {subscription}. slots: hard_delete: query.hardDelete paths: requestBody.paths resource_group: path.resourceGroupName subscription: path.subscriptionId method: generated generated: '2026-09-26' - target: $.paths['/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container}/batch'].delete update: x-apievangelist-phrasing: intent: Delete all artifact metadata in a container effect: destructive questions: - How do I wipe every artifact record in an entire container of my ML workspace? - Can I clear a whole container's artifact metadata without listing each path? instructions: - text: Delete all artifact metadata in container {container} (origin {origin}) of workspace {workspace}. slots: container: path.container origin: path.origin workspace: path.workspaceName - text: Clear every artifact record from container {container} in resource group {resource_group}, subscription {subscription}, with hard delete {hard_delete}. slots: container: path.container resource_group: path.resourceGroupName subscription: path.subscriptionId hard_delete: query.hardDelete method: generated generated: '2026-09-26' - target: $.paths['/{resourceScope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}'].get update: x-apievangelist-phrasing: intent: Get an artifact from a blueprint definition effect: read questions: - What does a single artifact inside my Azure Blueprints definition contain? - Can I read one blueprint artifact, like a template or role assignment, by name? instructions: - text: Get artifact {artifactName} from blueprint {blueprintName} at scope {resourceScope}. slots: artifactName: path.artifactName blueprintName: path.blueprintName resourceScope: path.resourceScope - text: Show the definition of blueprint artifact {artifactName} in {blueprintName}. slots: artifactName: path.artifactName blueprintName: path.blueprintName method: generated generated: '2026-10-01' - target: $.paths['/{resourceScope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}'].put update: x-apievangelist-phrasing: intent: Create or update a blueprint artifact effect: write questions: - How do I add a template, policy assignment or role assignment artifact to a blueprint? - Can I change an existing artifact inside a blueprint definition? instructions: - text: Create a {kind} artifact named {artifact} in blueprint {blueprint} at scope {scope}. slots: kind: requestBody.kind artifact: path.artifactName blueprint: path.blueprintName scope: path.resourceScope - text: Update blueprint artifact {artifact} in {blueprint} with kind {kind}. slots: artifact: path.artifactName blueprint: path.blueprintName kind: requestBody.kind method: generated generated: '2026-09-26' - target: $.paths['/{resourceScope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}'].delete update: x-apievangelist-phrasing: intent: Delete a blueprint artifact effect: destructive questions: - How do I remove an artifact from an Azure Blueprint definition? - Can I drop a single policy artifact from a blueprint without deleting the blueprint? instructions: - text: Delete artifact {artifact} from blueprint {blueprint} at scope {scope}. slots: artifact: path.artifactName blueprint: path.blueprintName scope: path.resourceScope - text: Remove the {artifact} artifact from blueprint {blueprint}. slots: artifact: path.artifactName blueprint: path.blueprintName method: generated generated: '2026-09-26' - target: $.paths['/{resourceScope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts'].get update: x-apievangelist-phrasing: intent: List artifacts in a blueprint definition effect: read questions: - Which artifacts make up my Azure Blueprints definition? - Can I see every template, policy and role assignment artifact in one blueprint? instructions: - text: List all artifacts in blueprint {blueprintName} at scope {resourceScope}. slots: blueprintName: path.blueprintName resourceScope: path.resourceScope - text: Show the artifacts defined in blueprint {blueprintName}. slots: blueprintName: path.blueprintName method: generated generated: '2026-10-01'