openapi: 3.1.0 info: title: NetApp ONTAP REST Aggregates Volumes API description: REST API for managing NetApp ONTAP storage systems. Provides programmatic access to cluster administration, storage provisioning, data protection, and networking configuration. The ONTAP REST API is available on all ONTAP 9.6 and later systems, with expanded coverage in each subsequent release. Resources include clusters, storage virtual machines (SVMs), aggregates, volumes, LUNs, snapshots, network interfaces, and more. version: 9.15.1 contact: name: NetApp Developer Resources url: https://devnet.netapp.com/ license: name: NetApp Terms of Use url: https://www.netapp.com/how-to-buy/sales-terms-and-conditions/ termsOfService: https://www.netapp.com/how-to-buy/sales-terms-and-conditions/ x-logo: url: https://www.netapp.com/media/na_logo_black_rgb_reg-mark_tcm19-21014.jpg servers: - url: https://{clusterMgmtIp}/api description: ONTAP cluster management endpoint variables: clusterMgmtIp: default: cluster-mgmt-ip description: IP address or hostname of the ONTAP cluster management LIF security: - basicAuth: [] - bearerAuth: [] tags: - name: Volumes description: Operations for creating, modifying, and managing storage volumes paths: /storage/volumes: get: operationId: listVolumes summary: Netapp List Storage Volumes description: Retrieves a list of volumes across the cluster. Supports filtering by SVM, aggregate, state, type, and other attributes. Returns volume configuration, space usage, performance counters, and relationships. tags: - Volumes parameters: - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/return_records' - $ref: '#/components/parameters/return_timeout' - $ref: '#/components/parameters/max_records' - $ref: '#/components/parameters/order_by' - name: svm.name in: query description: Filter by SVM name schema: type: string - name: name in: query description: Filter by volume name schema: type: string - name: state in: query description: Filter by volume state schema: type: string enum: - online - offline - restricted - mixed - name: type in: query description: Filter by volume type schema: type: string enum: - rw - dp - ls responses: '200': description: List of volumes retrieved successfully content: application/json: schema: type: object properties: records: type: array items: $ref: '#/components/schemas/Volume' num_records: type: integer description: Number of records in this response _links: $ref: '#/components/schemas/CollectionLinks' application/hal+json: schema: type: object properties: records: type: array items: $ref: '#/components/schemas/Volume' num_records: type: integer _links: $ref: '#/components/schemas/CollectionLinks' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createVolume summary: Netapp Create a New Volume description: Creates a new volume on the specified SVM and aggregate. The volume name, SVM, and aggregate are required. Optional parameters include size, security style, export policy, tiering policy, QoS policy, and snapshot policy. tags: - Volumes parameters: - name: return_records in: query description: Return the newly created record schema: type: boolean default: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Volume' responses: '201': description: Volume created successfully headers: Location: description: URL of the newly created volume resource schema: type: string format: uri content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: Volume creation accepted (asynchronous operation) content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /storage/volumes/{uuid}: get: operationId: getVolume summary: Netapp Retrieve a Specific Volume description: Retrieves detailed information about a specific volume including space utilization, configuration, state, associated SVM, aggregate, export policy, snapshot policy, and QoS settings. tags: - Volumes parameters: - $ref: '#/components/parameters/uuid' - $ref: '#/components/parameters/fields' responses: '200': description: Volume details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Volume' application/hal+json: schema: $ref: '#/components/schemas/Volume' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateVolume summary: Netapp Update a Volume description: Updates the properties of an existing volume. Supports modifying the volume name, size, comment, state, export policy, snapshot policy, tiering policy, and QoS settings. tags: - Volumes parameters: - $ref: '#/components/parameters/uuid' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Volume' responses: '200': description: Volume updated successfully content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: Volume update accepted (asynchronous operation) content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteVolume summary: Netapp Delete a Volume description: Deletes an existing volume. The volume must be offline or unmounted before deletion. This is an asynchronous operation. tags: - Volumes parameters: - $ref: '#/components/parameters/uuid' responses: '200': description: Volume deleted successfully content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: Volume deletion accepted (asynchronous operation) content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: uuid: name: uuid in: path required: true description: The unique identifier (UUID) of the resource schema: type: string format: uuid order_by: name: order_by in: query required: false description: Comma-separated list of fields to sort by. Add 'desc' after a field name to sort in descending order (e.g., name desc). schema: type: string return_records: name: return_records in: query required: false description: If true, return the records in the response body schema: type: boolean default: true fields: name: fields in: query required: false description: Comma-separated list of fields to return. Use * for all fields. Nested fields can be specified using dot notation (e.g., space.size). schema: type: string max_records: name: max_records in: query required: false description: Maximum number of records to return per page schema: type: integer minimum: 1 maximum: 10000 return_timeout: name: return_timeout in: query required: false description: The number of seconds to wait for the response. If the operation takes longer, a job link is returned instead (0-120 seconds). schema: type: integer minimum: 0 maximum: 120 default: 15 schemas: CollectionLinks: type: object description: Pagination links for collection responses properties: self: type: object properties: href: type: string format: uri example: example_value next: type: object description: Link to the next page of results properties: href: type: string format: uri example: example_value Volume: type: object description: A storage volume is a logical container for data. Volumes are created within SVMs and reside on aggregates. They provide the primary unit of data management in ONTAP. properties: uuid: type: string format: uuid description: Unique identifier for the volume readOnly: true example: '500123' name: type: string description: Volume name (unique within the SVM) examples: - vol1 type: type: string description: Volume type. rw = read-write, dp = data-protection, ls = load-sharing enum: - rw - dp - ls readOnly: true example: rw state: type: string description: Volume operational state enum: - online - offline - restricted - mixed example: online style: type: string description: Volume style enum: - flexvol - flexgroup - flexgroup_constituent readOnly: true example: flexvol size: type: integer format: int64 description: Volume size in bytes example: 10 comment: type: string description: Optional comment or description for the volume maxLength: 1023 example: example_value language: type: string description: Language encoding for the volume examples: - c.utf_8 create_time: type: string format: date-time description: Time when the volume was created readOnly: true example: '2026-01-15T10:30:00Z' svm: $ref: '#/components/schemas/SvmReference' aggregates: type: array description: Aggregates hosting the volume. A FlexVol has one aggregate; a FlexGroup can span multiple aggregates. items: $ref: '#/components/schemas/AggregateReference' example: [] space: type: object description: Volume space usage and configuration properties: size: type: integer format: int64 description: Total provisioned size in bytes available: type: integer format: int64 description: Available space in bytes readOnly: true used: type: integer format: int64 description: Used space in bytes readOnly: true percent_used: type: integer description: Percentage of space used readOnly: true minimum: 0 maximum: 100 logical_space: type: object description: Logical space accounting properties: available: type: integer format: int64 used: type: integer format: int64 used_percent: type: integer reporting: type: boolean description: Whether logical space reporting is enabled enforcement: type: boolean description: Whether logical space enforcement is enabled snapshot: type: object description: Snapshot reserve space properties: reserve_percent: type: integer description: Percentage of volume reserved for snapshots minimum: 0 maximum: 100 used: type: integer format: int64 description: Space used by snapshots in bytes readOnly: true over_provisioned: type: integer format: int64 description: Amount of space over-provisioned in bytes readOnly: true example: example_value nas: type: object description: NAS protocol configuration properties: path: type: string description: Junction path where the volume is mounted in the SVM namespace examples: - /vol1 security_style: type: string description: Security style of the volume enum: - unix - ntfs - mixed - unified unix_permissions: type: string description: UNIX permissions in octal format examples: - '0755' export_policy: type: object description: Export policy controlling NFS access properties: name: type: string description: Export policy name examples: - default example: example_value guarantee: type: object description: Space guarantee configuration properties: type: type: string description: Type of space guarantee enum: - volume - none honored: type: boolean description: Whether the guarantee is currently honored readOnly: true example: example_value snapshot_policy: type: object description: Snapshot policy assigned to the volume properties: name: type: string description: Snapshot policy name examples: - default uuid: type: string format: uuid example: example_value qos: type: object description: Quality of service configuration properties: policy: type: object description: QoS policy group properties: name: type: string description: QoS policy name uuid: type: string format: uuid max_throughput_iops: type: integer description: Maximum throughput in IOPS max_throughput_mbps: type: integer description: Maximum throughput in MB/s min_throughput_iops: type: integer description: Minimum throughput in IOPS min_throughput_mbps: type: integer description: Minimum throughput in MB/s example: example_value tiering: type: object description: FabricPool tiering configuration properties: policy: type: string description: Tiering policy for the volume enum: - all - auto - none - snapshot_only - backup min_cooling_days: type: integer description: Minimum number of days data must be inactive before tiering minimum: 2 maximum: 183 example: example_value encryption: type: object description: Volume encryption configuration properties: enabled: type: boolean description: Whether volume encryption is enabled state: type: string description: Encryption state readOnly: true type: type: string description: Encryption type readOnly: true enum: - none - volume - aggregate example: example_value autosize: type: object description: Volume autosize configuration properties: mode: type: string description: Autosize mode enum: - false - grow - grow_shrink grow_threshold: type: integer description: Used space threshold percentage to trigger growth minimum: 0 maximum: 100 shrink_threshold: type: integer description: Used space threshold percentage to trigger shrink minimum: 0 maximum: 100 maximum: type: integer format: int64 description: Maximum size the volume can grow to in bytes minimum: type: integer format: int64 description: Minimum size the volume can shrink to in bytes example: example_value clone: type: object description: Clone information if this volume is a clone readOnly: true properties: is_flexclone: type: boolean description: Whether the volume is a FlexClone parent_volume: $ref: '#/components/schemas/VolumeReference' parent_snapshot: type: object properties: name: type: string uuid: type: string format: uuid split_initiated: type: boolean description: Whether clone split has been initiated example: example_value _links: $ref: '#/components/schemas/SelfLink' AggregateReference: type: object description: Reference to an aggregate properties: uuid: type: string format: uuid example: '500123' name: type: string example: Example Title _links: $ref: '#/components/schemas/SelfLink' SvmReference: type: object description: Reference to an SVM properties: uuid: type: string format: uuid example: '500123' name: type: string example: Example Title _links: $ref: '#/components/schemas/SelfLink' SelfLink: type: object description: HAL self link properties: self: type: object properties: href: type: string format: uri description: URL of this resource example: example_value JobLink: type: object description: Reference to an asynchronous job properties: uuid: type: string format: uuid description: Job UUID example: '500123' _links: type: object properties: self: type: object properties: href: type: string format: uri description: URL to retrieve the job status example: example_value VolumeReference: type: object description: Reference to a volume properties: uuid: type: string format: uuid example: '500123' name: type: string example: Example Title _links: $ref: '#/components/schemas/SelfLink' ErrorResponse: type: object description: ONTAP REST API error response properties: error: type: object properties: message: type: string description: Human-readable error message code: type: string description: Error code target: type: string description: The field or resource that caused the error example: example_value responses: ErrorResponse: description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: basicAuth: type: http scheme: basic description: HTTP basic authentication using ONTAP user credentials. Provide the cluster or SVM administrator username and password. bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token authentication. Supported in ONTAP 9.8 and later.