canonical: https://jentic.com/apis/azure.com/artifact

# Microsoft Azure Artifact

Artifact is the Azure Machine Learning Services API for storing and retrieving the file-based artifacts that ML workflows produce - model files, trained weights, evaluation outputs, and run inputs. It supports per-workspace artifact registration, batch metadata operations, container ingestion via SAS URLs, and content download. Use this API to wire artifact storage into an ML training, evaluation, or deployment pipeline running on Azure ML.

## For AI agents

Register, retrieve, and ingest machine learning artifacts (models, weights, run outputs) inside Azure Machine Learning workspaces from an AI agent.

## Scope

Does not train models, run inference, or manage compute targets - use for Azure Machine Learning artifact metadata and content management only.

## Capabilities

- Register new artifacts under a workspace and origin/container hierarchy
- Retrieve artifact metadata individually or in batches
- Ingest artifact content via Azure Blob storage SAS URLs
- Download artifact content streams to local or remote consumers
- List artifacts within a specific origin and container
- Generate write-scoped SAS URIs for batch artifact ingestion

## Use cases

### Training Run Artifact Capture

ML pipelines running on Azure ML produce checkpoints, evaluation reports, and final model files that must be registered against the run for later retrieval. The Artifact API exposes batch register and metadata endpoints to record all outputs of a run in one call, then retrieve the artifact list when promoting the run to a model registry entry.

Example prompt: Generate a containersas URI, upload run outputs to blob storage, then call the batch register endpoint to record artifact metadata against the workspace.

### Cross-Pipeline Artifact Retrieval

Downstream evaluation and deployment pipelines need to fetch the model files produced by an upstream training pipeline. Listing artifacts under the producing run's origin and container, then retrieving content by path, lets a deployment script pull exactly the model file it expects without coupling to internal blob storage paths.

Example prompt: List artifacts under the upstream run's origin and container, find the model.bin entry, then GET its content stream and pipe to local disk.

### Bulk Artifact Migration

Teams migrating from one Azure ML workspace to another (region change, subscription move) need to copy artifact metadata efficiently. The batch metadata endpoints let a migration script read all artifact records under a workspace origin in chunks, then re-register them in the target workspace with updated container references.

Example prompt: Read batch metadata from the source workspace's artifacts/batch/metadata endpoint, then register the same set against the target workspace using its register endpoint.

### Agent-Driven Artifact Lookup via Jentic

An ML ops AI agent triaging a deployment failure can query Jentic to retrieve the exact artifact metadata for the failing model, without holding the Azure ML workspace credentials. Jentic returns the schema for the metadata endpoint and the agent executes against the workspace, parsing the response to identify whether the deployment is missing a required artifact.

Example prompt: Search Jentic for 'get Azure ML artifact metadata', execute against the workspace, origin, and container, then return the artifact list to the agent for inspection.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/register | Register a new artifact in the workspace |
| POST | /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/batch/metadata | Register or retrieve artifact metadata in batch |
| GET | /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/metadata | List artifact metadata under the workspace |
| GET | /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/{origin}/{container} | List artifacts under a specific origin and container |
| POST | /artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/artifacts/storageuri/batch/metadata | Get storage URIs for batch artifact metadata |

## Key resources

- **Artifacts** — Register and retrieve artifact metadata within a workspace
- **Batch metadata** — Read or register multiple artifacts in a single call
- **Container ingestion** — Generate SAS URIs and ingest entire containers of artifacts
- **Content streams** — Download artifact file content by origin, container, and path

## Why Jentic

- **Setup:** Wiring the Azure Machine Learning Artifact API by hand means registering an Azure AD app authorized for the target workspace, acquiring and refreshing OAuth 2.0 bearer tokens, and coordinating the container SAS URI, blob upload, and batch metadata register steps yourself. Through Jentic you install once, import the Azure ML Artifact API from the API Directory, store the service principal credential once, and your agent calls it.
- **Permission scoping:** Workspaces sit in the path (/artifact/v2.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/...) while the artifact origin, container, and path arrive in the request body, so scoping combines a workspace pin with operation choice. Pin the agent to one workspace and limit it to the operations it needs, such as listing artifact metadata or downloading content, so it never gains a register or ingest operation you did not grant.
- **Credential handling:** Your Azure AD service principal credential, scoped to the ML workspace, is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived bearer token at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register an Azure ML artifact' or 'download artifact content by origin and container', and Jentic returns the matching operation with its workspace, origin, and container schema so the agent calls it without walking the artifact path hierarchy.

## Related APIs

- **ML Team Account Management Client** — Manage Azure ML team accounts and workspaces that contain these artifacts
- **Azure ML Web Services Management Client** — Deploy registered models as web services after artifact capture
- **Azure ML Commitment Plans Management Client** — Manage commitment plans that govern Azure ML resource billing

## FAQ

### What authentication does the Azure ML Artifact API use?

Azure Active Directory OAuth 2.0 bearer tokens. The token must be authorized for the target Azure ML workspace. Jentic securely stores the AAD token and issues a scoped session at call time, so the agent never holds the underlying client secret.

### Can I register an artifact from a training run with this API?

Yes. POST to /artifacts/register under the workspace path with the artifact origin, container, and path in the request body. For multiple artifacts, use /artifacts/batch/metadata to register a list in a single call, which is the typical pattern for end-of-run capture.

### What are the rate limits for the Azure ML Artifact API?

Standard Azure ML data-plane throttling applies. Limits are not exposed in the spec; in practice the batch metadata endpoints handle hundreds of artifacts per call efficiently, while individual register and content endpoints are subject to per-workspace concurrency caps. Use batch endpoints when registering more than a handful of artifacts.

### How do I download an artifact's content through Jentic?

Search Jentic for 'download Azure ML artifact content'. Jentic returns the schema for GET /artifacts/{origin}/{container}/{path} (content stream); execute it with the workspace, origin, and container path. The response is the binary content of the artifact file.

### Is the Azure ML Artifact API free?

Calls themselves are not separately billed. Storage of artifacts uses the workspace's associated Azure Storage account, which is billed by GB-month and transaction count under standard Blob storage pricing.

### How do I ingest a whole container of artifacts at once?

POST to /artifacts/{origin}/{container}/batch/ingest/containersas to receive a write-scoped SAS URI for the target container, upload the files using a standard Blob client, then register the metadata via /artifacts/batch/metadata. This pattern is the most efficient for end-of-run uploads.

### Can I limit what my agent is allowed to do with the Microsoft Azure ML Artifact API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, so you pin it to a single Azure ML workspace and grant only the operations it needs. For a read-only agent you allow just listing artifact metadata and downloading artifact content by origin and container, while withholding the register and container-ingest operations. The service principal credential stays scoped to that one workspace, so the agent cannot write artifacts or reach a workspace you did not grant.
