openapi: 3.1.0 info: title: NetApp ONTAP REST Aggregates SVMs 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: SVMs description: Operations for managing storage virtual machines (SVMs / vservers) paths: /svm/svms: get: operationId: listSvms summary: Netapp List Storage Virtual Machines description: Retrieves a list of storage virtual machines (SVMs) in the cluster. SVMs are secure virtualized storage containers that provide data access to clients. Each SVM has its own volumes, network interfaces, protocols, and security configuration. tags: - SVMs 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: name in: query description: Filter by SVM name schema: type: string - name: state in: query description: Filter by SVM state schema: type: string enum: - starting - running - stopping - stopped - deleting responses: '200': description: List of SVMs retrieved successfully content: application/json: schema: type: object properties: records: type: array items: $ref: '#/components/schemas/Svm' num_records: type: integer _links: $ref: '#/components/schemas/CollectionLinks' application/hal+json: schema: type: object properties: records: type: array items: $ref: '#/components/schemas/Svm' num_records: type: integer _links: $ref: '#/components/schemas/CollectionLinks' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createSvm summary: Netapp Create a New Svm description: Creates a new storage virtual machine (SVM). The SVM name is required. Optional parameters include allowed protocols (NFS, CIFS, iSCSI, FCP), aggregates, language, snapshot policy, and IP interface configuration. tags: - SVMs requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Svm' responses: '201': description: SVM created successfully content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: SVM 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 /svm/svms/{uuid}: get: operationId: getSvm summary: Netapp Retrieve a Specific Svm description: Retrieves detailed information about a specific SVM including name, state, allowed protocols, IP interfaces, aggregates, and CIFS/NFS configuration. tags: - SVMs parameters: - $ref: '#/components/parameters/uuid' - $ref: '#/components/parameters/fields' responses: '200': description: SVM details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Svm' application/hal+json: schema: $ref: '#/components/schemas/Svm' default: $ref: '#/components/responses/ErrorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateSvm summary: Netapp Update an Svm description: Updates the properties of an existing SVM. Supports modifying name, allowed protocols, language, comment, and snapshot policy. tags: - SVMs parameters: - $ref: '#/components/parameters/uuid' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Svm' responses: '200': description: SVM updated successfully content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: SVM 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: deleteSvm summary: Netapp Delete an Svm description: Deletes an existing SVM and all associated configuration. All volumes and network interfaces in the SVM must be deleted first. tags: - SVMs parameters: - $ref: '#/components/parameters/uuid' responses: '200': description: SVM deleted successfully content: application/json: schema: type: object properties: job: $ref: '#/components/schemas/JobLink' '202': description: SVM 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: schemas: Svm: type: object description: A storage virtual machine (SVM), also known as a vserver, is a secure virtual storage server that provides isolated data access to clients. Each SVM has its own set of volumes, network interfaces, and protocol configurations. properties: uuid: type: string format: uuid description: SVM UUID readOnly: true example: '500123' name: type: string description: SVM name (unique within the cluster) examples: - svm1 state: type: string description: SVM operational state enum: - starting - running - stopping - stopped - deleting example: starting subtype: type: string description: SVM subtype readOnly: true enum: - default - dp_destination - sync_source - sync_destination example: default language: type: string description: Default language encoding for volumes in the SVM examples: - c.utf_8 comment: type: string description: Optional comment or description for the SVM example: example_value ipspace: type: object description: IPspace associated with the SVM properties: name: type: string description: IPspace name examples: - Default uuid: type: string format: uuid example: example_value aggregates: type: array description: Aggregates assigned to the SVM for volume provisioning items: $ref: '#/components/schemas/AggregateReference' example: [] ip_interfaces: type: array description: Network interfaces configured for the SVM readOnly: true items: $ref: '#/components/schemas/NetworkInterface' example: [] nfs: type: object description: NFS protocol configuration properties: enabled: type: boolean description: Whether NFS is enabled on the SVM allowed: type: boolean description: Whether NFS is allowed on the SVM example: example_value cifs: type: object description: CIFS/SMB protocol configuration properties: enabled: type: boolean description: Whether CIFS is enabled on the SVM allowed: type: boolean description: Whether CIFS is allowed on the SVM name: type: string description: CIFS server name example: example_value iscsi: type: object description: iSCSI protocol configuration properties: enabled: type: boolean description: Whether iSCSI is enabled on the SVM allowed: type: boolean description: Whether iSCSI is allowed on the SVM example: example_value fcp: type: object description: Fibre Channel Protocol configuration properties: enabled: type: boolean description: Whether FCP is enabled on the SVM allowed: type: boolean description: Whether FCP is allowed on the SVM example: example_value nvme: type: object description: NVMe over Fabrics protocol configuration properties: enabled: type: boolean description: Whether NVMe is enabled on the SVM allowed: type: boolean description: Whether NVMe is allowed on the SVM example: example_value snapshot_policy: type: object description: Default snapshot policy for the SVM properties: name: type: string uuid: type: string format: uuid example: example_value dns: type: object description: DNS configuration for the SVM properties: domains: type: array description: DNS domain names items: type: string servers: type: array description: DNS server IP addresses items: type: string example: example_value certificate: type: object description: SSL/TLS certificate for the SVM properties: uuid: type: string format: uuid name: type: string example: example_value max_volumes: type: string description: Maximum number of volumes allowed on the SVM example: example_value _links: $ref: '#/components/schemas/SelfLink' 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 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' NetworkInterface: type: object description: A network interface (LIF) providing data or management access properties: uuid: type: string format: uuid description: Network interface UUID readOnly: true example: '500123' name: type: string description: Interface name examples: - lif1 ip: type: object description: IP address configuration properties: address: type: string description: IP address examples: - 192.168.1.100 netmask: type: string description: Network mask examples: - 255.255.255.0 family: type: string description: IP address family enum: - ipv4 - ipv6 example: example_value state: type: string description: Operational state of the interface readOnly: true enum: - up - down example: up enabled: type: boolean description: Whether the interface is administratively enabled example: true scope: type: string description: Interface scope enum: - svm - cluster example: svm service_policy: type: object description: Service policy governing the interface properties: name: type: string description: Service policy name examples: - default-data-files example: example_value svm: $ref: '#/components/schemas/SvmReference' location: type: object description: Current location of the interface properties: home_node: $ref: '#/components/schemas/ClusterNodeReference' home_port: type: object properties: name: type: string description: Port name examples: - e0d node: $ref: '#/components/schemas/ClusterNodeReference' node: $ref: '#/components/schemas/ClusterNodeReference' port: type: object properties: name: type: string node: $ref: '#/components/schemas/ClusterNodeReference' is_home: type: boolean description: Whether the interface is on its home port example: example_value _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 ClusterNodeReference: type: object description: Reference to a cluster node 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 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 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.