canonical: https://jentic.com/apis/azure.com/azure-microsoft-netapp

# Microsoft Azure Microsoft NetApp

Jentic publishes the only available OpenAPI specification for Microsoft NetApp, keeping it validated and agent-ready. The Azure NetApp Files management API provisions and operates the high-performance file storage tier built on NetApp ONTAP, organised as accounts containing capacity pools, capacity pools containing volumes, and volumes optionally backed by snapshots and mount targets. Use it to create accounts, allocate capacity pools, expose NFS or SMB volumes, snapshot data, and check name and file path availability before provisioning. Authentication is via Azure Active Directory OAuth 2.0 on Azure Resource Manager.

## For AI agents

Provision and operate Azure NetApp Files: create NetApp accounts, allocate capacity pools, expose NFS or SMB volumes, and snapshot data. Useful for high-performance file storage automation.

## Scope

Does not handle blob storage, queue storage, or backup vault management - use for control-plane Azure NetApp Files account, pool, volume, and snapshot operations only.

## Capabilities

- Create or update an Azure NetApp account that scopes capacity pools and volumes
- Allocate a capacity pool with a chosen service level and provisioned size in TiB
- Expose NFS or SMB volumes from a capacity pool with quota and protocol settings
- Take, list, and restore snapshots of NetApp volumes for point-in-time recovery
- Discover the mount targets needed to mount a NetApp volume from a workload
- Check whether a candidate file path is available within a capacity pool before creation
- Validate a NetApp resource name in a region before provisioning

## Use cases

### Provision file storage for an HPC workload

HPC and SAP HANA teams use the API to provision Azure NetApp Files at scale: a NetApp account anchored in a region, one or more capacity pools at a chosen service level (Standard, Premium, or Ultra), and NFS volumes sized to the workload. Each PUT call is asynchronous, so the agent polls the operation URL until provisioning succeeds before mounting the volume from compute.

Example prompt: PUT /.../netAppAccounts/{accountName}, then PUT capacityPools/{poolName} with serviceLevel and size, then PUT volumes/{volumeName} with usageThreshold and protocol set to NFSv3 or NFSv4.1.

### Snapshot and restore production data

Operations teams take frequent snapshots of NetApp volumes before deployments or risky migrations. Snapshots are space-efficient point-in-time copies that can be listed, restored, or deleted through dedicated endpoints, providing a fast roll-back path that does not require restoring from a full backup.

Example prompt: PUT /.../volumes/{volumeName}/snapshots/{snapshotName} to capture the snapshot, then if needed call the snapshot revert API on the volume to roll back.

### Right-size capacity pools as workloads grow

As workloads grow, teams expand the capacity pool that backs a set of volumes rather than recreating the storage tier. The PATCH endpoint on a capacity pool updates its size in TiB while leaving the volumes inside untouched. Combine with GET on the pool to read the current size, and with the volumes list to confirm utilisation before resizing.

Example prompt: GET the capacity pool to read current size, then PATCH /.../capacityPools/{poolName} with the new size in bytes (TiB multiplied by 2^40).

### Agent-driven NetApp lifecycle

Through Jentic, an AI agent can read a workload spec and provision a complete NetApp environment: account, capacity pool, NFS volume, and a daily snapshot policy. The agent searches Jentic for 'create azure netapp volume', loads the operations in turn, and chains the calls. Jentic injects the Azure AD bearer token at execution time so the agent never sees raw credentials.

Example prompt: Use Jentic search 'create azure netapp volume', execute Accounts_CreateOrUpdate then Pools_CreateOrUpdate then Volumes_CreateOrUpdate, polling the async operation URL between steps.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName} | Create or update a NetApp account |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName} | Create or update a capacity pool |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName} | Create or update a volume |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName} | Create a volume snapshot |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets | List volume mount targets |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability | Check file path availability |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability | Check resource name availability |

## Key resources

- **NetAppAccounts** — Create, list, get, update, and delete top-level NetApp accounts that scope all NetApp resources in a region.
- **CapacityPools** — Allocate and resize capacity pools at chosen service levels under a NetApp account.
- **Volumes** — Expose NFS or SMB volumes inside a capacity pool with quota, protocol, and subnet settings.
- **Snapshots** — Take, list, get, and delete point-in-time snapshots of volumes.
- **MountTargets** — Discover the mount targets that workloads use to mount NetApp volumes.
- **Operations** — Resource provider operations and region-scoped name and file path availability checks.

## Why Jentic

- **Setup:** Wiring Microsoft NetApp by hand means implementing Azure AD OAuth 2.0, minting an ARM-scoped bearer token for management.azure.com, walking the three-level account, pool, and volume hierarchy, polling asynchronous operation URLs, and plumbing the delegated subnet yourself. Through Jentic you install once, import Microsoft NetApp from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The API puts the subscription, resource group, account, pool, and volume names in the URL path, so a rule can pin your agent to one NetApp account: it can create pools, volumes, and snapshots under that account and nothing else. You choose the operations it may call, so destructive ones like deleting a volume or a snapshot are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived ARM-scoped bearer token at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Azure NetApp Files volume' or 'snapshot an Azure NetApp volume', and Jentic returns the matching operation with its input schema, including the service level and protocol enums, so the agent executes with the right fields.

## Related APIs

- **Storage Management Client** — Provision general-purpose Azure Storage accounts (blob, file, queue) instead of NetApp's high-performance tier.
- **Compute Management Client** — Provision the Azure VMs that mount NetApp volumes.
- **Network Management Client** — Configure the delegated subnet that NetApp volumes attach to.
- **Recovery Services Backup Client** — Add Azure Backup coverage on top of NetApp's snapshot-based recovery.

## FAQ

### Why is there no official OpenAPI spec for Microsoft NetApp?

Microsoft Azure does not publish a standalone OpenAPI specification for the NetApp Files resource provider. Jentic generates and maintains this spec so that AI agents and developers can call Microsoft NetApp via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the NetApp Files API use?

The API uses Azure Active Directory OAuth 2.0 via the azure_auth scheme on https://management.azure.com/. Through Jentic, your Azure AD application credentials are stored encrypted in your Jentic One instance and exchanged for a short-lived bearer token at execution time.

### Can I create an NFS volume with this API?

Yes. After provisioning a NetApp account and capacity pool, call PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName} with protocolTypes set to NFSv3 or NFSv4.1 and usageThreshold sized for your workload.

### What are the rate limits for the NetApp Files API?

The endpoints inherit standard Azure Resource Manager throttle quotas, surfaced through x-ms-ratelimit-remaining-* response headers. Long-running operations such as Volumes_CreateOrUpdate return 202 with an Azure-AsyncOperation URL the agent should poll rather than retry.

### How do I take a snapshot through Jentic?

Search Jentic for 'create azure netapp snapshot', load Snapshots_Create, supply the account, pool, volume, and snapshot name, and execute. The response includes the snapshot's resource ID, which the agent can store for later restore or delete operations.

### What service levels does NetApp Files support?

Capacity pools are created with one of three service levels: Standard, Premium, or Ultra. The level is set on the pool's serviceLevel property and determines the throughput per TiB the volumes inside the pool can sustain. Volumes inherit the service level from their parent pool.

### Can I check name availability before creating resources?

Yes. POST /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability validates resource names, and POST /subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability validates volume file paths against the chosen subnet to avoid conflicts.

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

Yes. Because you self-host Jentic One, your own rules decide which operations and credentials the agent may use, and those rules pin it to a single NetApp account so it can create pools, volumes, and snapshots under that account and nothing else. You pick the exact operations it can call, so destructive ones like deleting a volume or a snapshot are excluded unless you add them. Your Azure AD credential stays encrypted in your own instance and is exchanged for a short-lived ARM-scoped bearer token at execution time, so the agent never sees the raw secret.
